【发布时间】:2012-06-10 16:03:02
【问题描述】:
是否有任何 Android 设备在 GPU 上而不是 CPU 上执行渲染脚本,或者这还没有在任何地方实现?
【问题讨论】:
标签: android renderscript
是否有任何 Android 设备在 GPU 上而不是 CPU 上执行渲染脚本,或者这还没有在任何地方实现?
【问题讨论】:
标签: android renderscript
【讨论】:
我无法确认 Google 的任何官方文档,但我每天都在使用 RenderScript,每次运行它时,我都会看到 logcat 报告在我的设备中加载图形芯片的驱动程序,尤其是 Tegra 2。Google 有在记录 RenderScript 方面确实落后,如果他们只是没有在讨论中纠正这个遗漏,我一点也不感到惊讶。
【讨论】:
目前 Renderscript 的计算端只能在 CPU 上运行:
目前,计算渲染脚本只能利用 CPU 内核,但在未来,它们可能会在其他类型的处理器上运行,例如 GPU 和 DSP。
Renderscript 的图形端位于 OpenGL ES 之上,因此着色器将在 GPU 上运行。
ARM 的 Mali-T604 GPU 将为 Renderscript 的计算端提供一个目标(在未来的 Android 版本中?)(请参阅ARM Blog entry)。
【讨论】:
RenderScript 的设计使其在 GPU 上运行。这是添加新语言的主要目的。由于缺乏支持,我假设有些设备在 CPU 上运行,但在大多数设备上它在 GPU 上运行
【讨论】:
我认为这可能取决于您是在进行图形操作还是计算操作。图形操作可能会在 GPU 上执行,但据我所知,计算操作不会。
当您使用 forEach 构造时,计算将在 CPU 上的多个线程中运行,而不是 GPU(您可以在 ICS 源代码中看到这一点)。在未来的版本中,这可能会发生变化(请参阅https://events.linuxfoundation.org/slides/2011/lfcs/lfcs2011_llvm_liao.pdf),但我还没有看到任何公告。
【讨论】:
目前,只有 Nexus 10 seems to support Renderscript GPU 计算。
【讨论】: