Renderscript is an API targeted at high-performance 3D rendering and compute operations. The goal of Renderscript is to bring a lower level, higher performance API to Android developers. The target audience is the set of developers looking to maximize the performance of their applications and are comfortable working closer to the metal to achieve this. It provides the developer three primary tools: A simple 3D rendering API on top of hardware acceleration, a developer friendly compute API similar to CUDA, and a familiar language in C99.
Contents |
Application code needs to be able to run across all devices, even those with radically different hardware. ARM currently comes in several variants — with and without VFP, with and without NEON, and with various register counts. Beyond ARM, there are other CPU architectures like x86, several GPU architectures, and even more DSP architectures.
Get as much performance as possible within the constraints of Portability. For Renderscript to make sense it needs to achieve much greater performance than established solutions.
Simplify development as much as possible. Where possible steps are automated to avoid glue code and other developer busy work.
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.
|