gpt4 book ai didi

android - 用于 Android 图像处理的 OpenGL ES vs OpenCL vs RenderScript

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:45 27 4
gpt4 key购买 nike

我需要为 Android 构建一个图像处理应用程序。性能是主要要求,我希望使用 gpu 计算。我想知道这 3 个库中的哪一个最适合使用。

我知道 OpenGL 主要用于图形,但也支持计算机着色器。

我不确定 OpenCL 在 Android 上的支持情况

RenderScript 缺少文档,我认为它比其他库慢。

最佳答案

对于图像处理应用程序,最重的部分是处理(转换/操作)内存中图像的像素,而不是将图像渲染到屏幕/缓冲区。

当然,这种处理是通用的,需要通用的计算 API。

因此,我们可以消除 OpenGL ES。它支持着色器,但 OpenGL ES 着色语言非常有限,绝对不适合一般处理。

RenderScript,根据 this :

RenderScript does not use any GPU or DSPs cores. That is a common misconception encouraged by Google's deliberately vague documentation. RenderScript used to have an interface to OpenGL ES, but that has been deprecated and has never been used for much beyond animated wallpapers. RenderScript will use multiple CPU cores, if available, but I suspect RenderScript will be replaced by OpenCL.

我在一家大型视频游戏公司工作,我们没有任何使用 RenderScript 的计划。我们认为 Vulkan 是更好的选择。我建议你也选择 Vulkan,但问题是现在支持 Vulkan 的 Android 设备数量非常少。

因此,要回答您的问题,请使用 OpenCL。虽然 OpenCL 不是 Android 平台的一部分,但许多制造商提供了驱动程序甚至 SDK 来支持 Android 上的 OpenCL。至少,它在支持的设备数量上优于 Vulkan。

关于android - 用于 Android 图像处理的 OpenGL ES vs OpenCL vs RenderScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56107600/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com