【发布时间】:2015-01-09 01:41:40
【问题描述】:
RenderScript 是在 Android 上运行 GPGPU 代码的唯一独立于设备的方式吗? 我不算 Tegra,因为只有少数手机拥有它。
【问题讨论】:
RenderScript 是在 Android 上运行 GPGPU 代码的唯一独立于设备的方式吗? 我不算 Tegra,因为只有少数手机拥有它。
【问题讨论】:
RenderScript 是官方的 Android 计算平台。因此,它将出现在所有 Android 设备上。它专为解决跨多个不同设备运行一个代码库的问题而设计。
【讨论】:
嗯,使用 RenderScript 并不一定意味着您的代码将在 GPU 上运行。它还可能使用 CPU 并(希望)在多个 CPU 内核上并行化任务并使用 CPU 向量指令。但据我所知,你永远无法确定这一点,而且决策过程就像一个黑匣子。
如果您想确保您的代码在 GPU 上运行,您可以使用 OpenGL ES 2.0 着色器“模拟”一些 GPGPU 功能。这将在所有支持 OpenGL ES 2.0 的设备上运行。这取决于您想要做什么,但是例如许多图像处理功能可以通过这种方式非常有效地实现。有一个名为 ogles_gpgpu 的库为 Android 和 iOS 系统上的 GPGPU 提供架构:https://github.com/internaut/ogles_gpgpu
OpenGL ES 3.1 也支持“计算着色器”,但很少有设备支持。
【讨论】: