簡體   English   中英

OpenGL ES vs OpenCL vs RenderScript for Android Image Processing

[英]OpenGL ES vs OpenCL vs RenderScript for Android Image Processing

我需要為Android構建一個圖像處理應用程序。 性能是主要要求,我希望使用gpu compute。 我想知道哪3個庫最好用。

我知道OpenGL主要用於圖形,但也支持計算機着色器。

我不確定OpenCL在Android上的支持程度如何

RenderScript缺少文檔,我認為比其他庫慢。

對於圖像處理應用程序,最重要的部分是處理(轉換/操縱)內存中圖像的像素,而不是將圖像渲染到屏幕/緩沖區。

當然,這種處理是通用的,需要通用計算API。

因此,我們可以消除OpenGL ES。 它支持着色器,但OpenGL ES着色語言非常有限,絕對不適合一般處理。

RenderScript,根據這個

RenderScript不使用任何GPU或DSP內核。 這是Google故意模糊的文檔所鼓勵的常見誤解。 RenderScript曾經有一個OpenGL ES的界面,但已被棄用,並且除了動畫壁紙以外從未使用過。 RenderScript將使用多個CPU內核(如果可用),但我懷疑RenderScript將被OpenCL取代。

我在一家大型視頻游戲公司工作,我們沒有任何計划使用RenderScript。 我們認為Vulkan是更好的選擇。 我建議你也選擇Vulkan,但問題是現在支持Vulkan的Android設備數量非常少。

因此,要回答您的問題,請使用OpenCL。 雖然OpenCL不是Android平台的一部分,但許多制造商提供驅動程序甚至SDK來支持Android上的OpenCL。 至少,它在支持的設備數量方面優於Vulkan。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM