RenderScript

RenderScript
Website developer.android.com/guide/topics/renderscript/index.html

RenderScript is a component of the Android operating system for mobile devices. It is an API for intensive computation using heterogeneous computing. It allows developers to increase the performance of their applications at the cost of writing a greater amount of more complex code. It provides the developer three primary tools: A general purpose compute API across different system computing hardware, a compute API similar to CUDA, OpenCL or GLSL, and a familiar C99-derived language. It can also be used for 3D graphics. Android 4.2 added new capabilities to script intrinsics, such as Blend and Blur; as well as ScriptGroups which allow you to chain together related RenderScript scripts and execute them with one call.

Most recently, Google added FilterScript, which is a subset of RenderScript that allows developers to write their image processing operations in FilterScript using the standard RenderScript runtime API, but within stricter constraints that ensure wider compatibility and improved optimization across multi-core CPUs, GPUs, and DSPs. FilterScript is a less precise in terms of numeric datatype precision, and more cross device compatible subset of RenderScript and should not be mistaken for a RenderScript replacement technology.[1]

Features

Portability

RenderScript is designed to always run on the various Android platforms regardless of hardware type. Its goal is code portability for various architectures and not performance.

RenderScript portability depends upon device-specific drivers:[2] a basic CPU-only driver is provided for every device, while there exist some specific chipset-provided RenderScript drivers that enable GPU usage (e.g. Qualcomm specific drivers, which are provided in the libRSDriver_adreno.so Android library).

Performance

The API is designed to accommodate tasks that can be efficiently split and run concurrently on the underlying hardware which may be only known at the runtime of the application.

As of Android 4.2, RenderScript has been expanded to run on the GPU in addition to the CPU on supported systems.[3]

Usability

Simplify development as much as possible, where possible steps are automated to avoid glue code.

It's these trade-offs that separate RenderScript from the existing approaches on the device, such as Dalvik or the Android Native Development Kit. They should be thought of as different tools intended to solve different problems.

Limitations

History

As of Android 4.1, Renderscipt's experimental 3D rendering API has been deprecated, and now exists solely as a compute API.

References

  1. "Android 4.2 APIs". Retrieved 2013-03-20.
  2. Marchetti, Alberto (2016). RenderScript: parallel computing on Android, the easy way (1st ed.).
  3. "Jelly Bean - Renderscipt Performance". Retrieved 2012-11-27.
This article is issued from Wikipedia - version of the 9/15/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.