dir*_*hem 12 android gpu image-processing opengl-es-2.0
我正在制作相机应用程序,这个应用程序将为用户提供一些过滤器.目前我的代码是在NDK上,它工作正常,但我想让它更快一点.看来GPU和opengl Es 2.0还有很长的路要走.我唯一担心的是GPU的内存限制.由于现代相机需要5-10 mp的图像,而GPU的内存限制远远低于此.我想知道是否有办法解决这个限制.在我看来唯一合乎逻辑的选择是将图像分成较小的部分,然后在GPU上处理它们,最后将它们分配给最终图像.我的问题是,如果这种方法仍然有利于性能,还有任何其他选项可以在移动GPU上处理高分辨率图像.
编辑:我需要澄清一下,我想使用GPU进行图像处理,所以我的目标不是将结果渲染到屏幕上.我将它渲染到另一个纹理并将其保存到磁盘.
您的平铺想法自任天堂娱乐系统以来一直在使用,该系统具有 1.79 MHz 的 Ricoh 2A03,因此这是一个很好的方法。Google 使用平铺来管理地图显示,甚至像 Crysis 这样的游戏也倾向于将大部分纹理的纹理大小限制为 1024x1024(1 兆像素)之类的大小。是的,10 兆像素需要 30 兆 RAM,因此某些设备可能会出现问题,特别是如果您使用源纹理和目标纹理,则意味着需要 60 兆 RAM。
请记住,纹理大小往往使用 2 的幂(2、4、8、16、32、64 等)。有时,至少如果您将其切碎并平铺图像,您会获得更好的质量。
| 归档时间: |
|
| 查看次数: |
1317 次 |
| 最近记录: |