RenderScript
   HOME

TheInfoList



OR:

RenderScript is a component of the Android operating system for mobile devices that offers an
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
for acceleration that takes advantage of heterogeneous hardware. It allows developers to increase the performance of their applications at the cost of writing more complex (lower-level) code. It provides the developer three primary tools: A simple 3D rendering API, a compute API similar to
CUDA CUDA (or Compute Unified Device Architecture) is a parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for general purpose processing, an approach ...
, and a
C99 C99 (previously known as C9X) is an informal name for ISO/IEC 9899:1999, a past version of the C programming language standard. It extends the previous version ( C90) with new features for the language and the standard library, and helps impl ...
-derived language.


History

RenderScript was added in Android 3.0 Honeycomb. As of Android 4.1, RenderScript's experimental 3D rendering API has been deprecated, and now exists solely as a compute API. Android 4.2 added new capabilities to script intrinsics, such as ''Blend'' and ''Blur''; as well as ''ScriptGroups'' which allows related RenderScript scripts to be grouped and executed with one call. It also 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 A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
,
GPUs A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobil ...
, and DSPs. FilterScript is less precise in floating point precision, and more cross device compatible subset of RenderScript – and should not be mistaken for a RenderScript replacement technology. On April 19, 2021, Google announced that RenderScript will be
deprecated In several fields, especially computing, deprecation is the discouragement of use of some terminology, feature, design, or practice, typically because it has been superseded or is no longer considered efficient or safe, without completely removing ...
in
Android 12 Android 12 is the twelfth major release and 19th version of Android, the mobile operating system developed by the Open Handset Alliance led by Google. The first beta was released on May 18, 2021. Android 12 was released publicly on October 4 ...
, and recommended porting existing code to
Vulkan Vulkan is a low- overhead, cross-platform API, open standard for 3D graphics and computing. Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. Vulkan is intended to offer higher perfor ...
.


Features


Portability

RenderScript is designed to always run on the various Android platforms regardless of hardware type. Performance tuning is done at runtime. RenderScript portability depends upon device-specific drivers: 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

RenderScript is designed to tune tasks at runtime that can be efficiently split and run concurrently on the underlying hardware. As of Android 4.2, RenderScript has been expanded to run on the GPU in addition to the CPU on supported systems.


Limitations

* RenderScript cannot yet express on-chip inter-thread communication (known as local memory in
OpenCL OpenCL (Open Computing Language) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-progra ...
, and shared memory in CUDA). * RenderScript cannot yet express hardware-implemented 2D and 3D lookups with bilinear interpolation (known as texture in CUDA, and image read in OpenCL).


References


External links


Google Developer page





Google details low-level Renderscript API for Honeycomb


* ttp://www.independent-software.com/setting-up-android-renderscript-in-android-studio-1-3/ Guide to setting up Renderscript in Android Studio {{Android Android (operating system) GPGPU libraries