Renderscript

RenderScript是用於移動設備的Android作業系統的一個組件,它提供了一個利用異構硬體加速的API。 它允許開發人員以編寫更複雜(更低級別)的代碼為代價來提高應用程式的性能。

它為開發人員提供了三個主要工具:一個簡單的3D渲染API,一個類似於CUDA的計算API和一個C99派生語言。

基本介紹

  • 外文名:RenderScript
  • 本質:移動設備的一個組件
歷史,特徵,可移植性,性能,局限性,

歷史

RenderScript是在Android 3.0 Honeycomb中添加的。從Android 4.1開始,Renderscipt的實驗性3D渲染API已被棄用,僅作為計算API存在。
Android 4.2增加了新功能來編寫內部函式,例如Blend和Blur; 以及允許您連結相關RenderScript腳本並通過一次調用執行它們的ScriptGroups。
最近,谷歌添加了FilterScript,它是RenderScript的一個子集,允許開發人員使用標準的RenderScript運行時API在FilterScript中編寫圖像處理操作,但在更嚴格的約束條件下確保更廣泛的兼容性並改進跨多核CPU,GPU, 和DSP。 FilterScript在數字數據類型精度方面不夠精確,並且與RenderScript有更多跨設備兼容的子集 - 不應該被誤認為RenderScript替代技術。

特徵

可移植性

無論硬體類型如何,RenderScript都可以在各種Android平台上運行。性能調整在運行時完成。
RenderScript可移植性取決於特定於設備的驅動程式:[3]為每個設備提供基本的僅CPU驅動程式,同時存在一些特定的晶片組提供的RenderScript驅動程式,用於啟用GPU使用(例如,Qualcomm特定的驅動程式,這些驅動程式在libRSDriver_adreno .so Android庫)。

性能

RenderScript設計用於在運行時調整任務,可以在底層硬體上高效地分割和同時運行。從Android 4.2開始,除了支持的系統上的CPU,RenderScript已經擴展到GPU上運行。

局限性

RenderScript還不能表示片上執行緒間通信(OpenCL中的本地記憶體,以及CUDA中的共享記憶體)RenderScript不能用雙線性插值(在CUDA中稱為紋理,在OpenCL中讀取圖像)表示硬體實現的2D和3D查找。

相關詞條

熱門詞條

聯絡我們