有没有任何 Android 设备在其中 renderscript 在 GPU 上执行而不是 CPU,或者这是尚未在任何地方实现的东西?
有没有任何 Android 设备在其中 renderscript 在 GPU 上执行而不是 CPU,或者这是尚未在任何地方实现的东西?
我无法通过任何官方文档确认谷歌的情况,但是我每天都在使用RenderScript,并且每次运行时,我都会看到logcat报告加载我的设备中图形芯片的驱动程序,特别是Tegra 2。谷歌在记录RenderScript方面确实落后了,并且如果他们没有在讨论中纠正这个遗漏,我一点也不感到惊讶。
目前,Renderscript的计算部分只能在CPU上运行:
目前,计算Renderscripts只能利用CPU核心,但未来可能会在其他类型的处理器上运行,例如GPU和DSP。
Renderscript的图形部分位于OpenGL ES之上,因此着色器将在GPU上运行。
ARM的Mali-T604 GPU将为Renderscript的计算部分提供目标(在未来的Android版本中?)(请参见ARM博客文章)。
我认为这可能取决于您是进行图形还是计算操作。据我所知,图形操作将在GPU上执行,但计算操作不会。
当您使用forEach结构时,计算将在CPU上的多个线程中运行,而不是GPU(您可以在ICS源代码中看到这一点)。在未来的版本中,这可能会改变(请参见https://events.linuxfoundation.org/slides/2011/lfcs/lfcs2011_llvm_liao.pdf),但我没有看到任何公告。