【问题标题】:OpenGL ES2.0 glReadPixels() is very slowOpenGL ES2.0 glReadPixels() 非常慢
【发布时间】:2013-09-13 13:44:30
【问题描述】:

我正在使用 glReadPixels 将像素从 FBO 读取到内存。

代码如下:

UINT8* data;
glBindFramebuffer(GL_FRAMEBUFFER, FBOID);
glReadPixels(0, 0, w, h, GL_RGB, GL_UNSIGNED_BYTE, data);

我发现这个操作非常非常慢... openGL ES2.0(Android) 有替代方案吗?

【问题讨论】:

    标签: android opengl-es opengl-es-2.0 glreadpixels


    【解决方案1】:

    是的,它很慢。 OpenGL ES 2.0 没有在 Android 上提供更快的方法。您可以在 OpenGL ES 3.0 上使用 PBO,但这可能不是您的选择,因为目前很少有设备支持它,而且它需要 Android 4.3。

    编辑:我确实知道某些设备在上传 RGB 纹理时存在严重的性能问题,也许它也发生在相反的方向上。尝试改用 RGBA 格式。

    【讨论】:

      猜你喜欢
      • 2017-01-28
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多