2016-01-05 101 views
-2

我想知道是否有人開發了在GPU上運行的Renderscript程序。我試過一些簡單的實現,比如通過RS來做IntrinsicBlur,但事實證明它運行在CPU而不是GPU上。在GPU上運行的renderscript樣本

回答

1

Intrinsics將始終運行在處理器上,它們將以最快速度運行。如果它在CPU上運行,那意味着GPU不適合快速運行它。原因可能是GPU通常用於繪製屏幕(這也需要付出很多努力),因此沒有額外的計算帶寬。

+0

感謝您的意見。我知道這是由操作系統或硬件決定的,而不是開發人員在哪個處理器上運行。那麼你知道在Nexus 4或者5上GPU上的代碼類型嗎?我只是嘗試了很多種代碼,但都沒有工作。它們都在CPU上運行。 – PKUEcho

+0

編寫一些用戶腳本而不是使用內部函數。 N4/N5上的加速內核幾乎沒有,因爲GPU非常貧乏(並且已經爲圖形工作而過載)。我們在https://android.googlesource.com/platform/frameworks/rs/+/master/java/tests/ImageProcessing/中有很好的例子,可以在很多GPU上運行(N5/N6/N7/N9/N10/N5X/N6P)。 –

+0

你好斯蒂芬。我按照你的建議嘗試了ImageProcessing應用程序。我點擊「Benchmark All」按鈕,但沒有看到GPU工作負載。這真的很奇怪,因爲我看到很多人提到他們的應用程序在GPU上運行。你知道我的測試有什麼問題嗎?我能用這個做什麼? – PKUEcho