在iOS上处理大量像素

时间:2012-06-27 21:20:48

标签: ios performance ios5 opengl-es opengl-es-2.0

我需要在iOS设备上移动屏幕上的大量像素。这样做最有效的方法是什么?

到目前为止,我正在使用glTexSubImage2D(),但我想知道这是否可以更快地完成。我注意到OpenGL ES 2.0不支持像素缓冲区,但Core Video似乎使用了像素缓冲区。我可以用吗?或者也许是OpenGL的Apple扩展可以帮助我实现类似的东西(我想在WWDC 2012视频中看到了一个非常含糊的提及客户端存储扩展,但我找不到任何关于它的文档)?还有其他方法可以加快速度吗?

我主要关心的是glTexSubImage2D()复制了我发送的所有像素。理想情况下,我想跳过复制数据的这一步骤,因为我已经准备好了......

1 个答案:

答案 0 :(得分:2)

您可能想到的客户端存储扩展程序是CVOpenGLESTextureCacheCreateTextureFromImage;完整的教程是here。这绝对是将数据传输到GPU的最快方式。

令人沮丧的是我在Apple的文档中唯一提到的是iOS 4.3 to 5.0 API Differences文档 - 快速搜索CVOpenGLESTextureCache.h