Jump to content

RenderScript

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by John.sokol (talk | contribs) at 23:18, 29 July 2011 (Created page with ''''Renderscript''' is a new API targeted at high-performance 3D rendering and compute operations. The goal of Renderscript is to bring a lower level, higher perfor...'). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Renderscript is a new 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.

  • the new API is published with the Android Honeycomb API release
  • made up of a "computing" API, and a "rendering" API
  • intended for programmers who want to coax the last ounce of performance from their hardware
  • accessed using a C-based scripting language

Portability

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.

Performance

Get as much performance as possible within the constraints of Portability. For Renderscript to make sense we need to achieve much greater performance than established solutions.

Usability

Simplify development as much as possible. Where possible we automate steps 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_(software) Dalvik or the Native_Development_Kit NDK. They should be thought of as different tools intended to solve different problems.