RenderScript es un componente del sistema operativo Android para dispositivos móviles que ofrece una API para la aceleración que aprovecha hardware heterogéneo . Permite a los desarrolladores aumentar el rendimiento de sus aplicaciones a costa de escribir código más complejo (de nivel inferior).
Desarrollador (es) | |
---|---|
Sistema operativo | Android (sistema operativo) |
Sitio web | desarrollador |
Proporciona al desarrollador tres herramientas principales: una API de renderizado 3D simple, una API de cálculo similar a CUDA y un lenguaje derivado de C99 .
Historia
RenderScript se agregó en Android 3.0 Honeycomb. [1]
A partir de Android 4.1, la API de renderizado 3D experimental de RenderScript ha quedado obsoleta y ahora existe únicamente como una API de cálculo.
Android 4.2 agregó nuevas capacidades a los elementos intrínsecos del script, como Blend y Blur ; así como ScriptGroups, que permite agrupar y ejecutar scripts de RenderScript relacionados con una sola llamada. También agregó FilterScript, que es un subconjunto de RenderScript que permite a los desarrolladores escribir sus operaciones de procesamiento de imágenes en FilterScript utilizando la API de tiempo de ejecución estándar de RenderScript, pero dentro de restricciones más estrictas que garantizan una compatibilidad más amplia y una optimización mejorada en CPU , GPU y DSP de múltiples núcleos. . FilterScript es menos preciso en precisión de punto flotante y es un subconjunto de RenderScript más compatible con dispositivos cruzados, y no debe confundirse con una tecnología de reemplazo de RenderScript. [2]
El 19 de abril de 2021, Google anunció que RenderScript quedará obsoleto en Android 12 y recomendó portar el código existente a Vulkan . [3]
Características
Portabilidad
RenderScript está diseñado para ejecutarse siempre en las distintas plataformas de Android, independientemente del tipo de hardware. El ajuste del rendimiento se realiza en tiempo de ejecución.
La portabilidad de RenderScript depende de los controladores específicos del dispositivo: [4] se proporciona un controlador básico solo de CPU para cada dispositivo, mientras que existen algunos controladores RenderScript específicos proporcionados por el chipset que permiten el uso de la GPU (por ejemplo, controladores específicos de Qualcomm, que se proporcionan en la versión de libRSDriver_adreno.so
Android Biblioteca).
Actuación
RenderScript está diseñado para ajustar las tareas en tiempo de ejecución que se pueden dividir y ejecutar de manera eficiente al mismo tiempo en el hardware subyacente. [5]
A partir de Android 4.2, RenderScript se ha ampliado para ejecutarse en la GPU además de la CPU en los sistemas compatibles. [6]
Limitaciones
- RenderScript aún no puede expresar la comunicación entre subprocesos en el chip (conocida como memoria local en OpenCL y memoria compartida en CUDA).
- RenderScript aún no puede expresar búsquedas 2D y 3D implementadas en hardware con interpolación bilineal (conocida como textura en CUDA e imagen leída en OpenCL).
Referencias
- ^ https://developer.android.com/about/versions/android-3.0-highlights.html#graphics
- ^ "API de Android 4.2" . Consultado el 20 de marzo de 2013 .
- ^ "Computación GPU de Android en el futuro" . Blog de desarrolladores de Android . Consultado el 19 de abril de 2021 .
- ^ Marchetti, Alberto (2016). RenderScript: computación paralela en Android, la forma fácil (1ª ed.).
- ^ https://android-developers.googleblog.com/2011/03/renderscript.html
- ^ "Jelly Bean - Rendimiento de Renderscipt" . Consultado el 27 de noviembre de 2012 .