2016-01-05 53 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