其他分享
首页 > 其他分享> > OpenGL ES2.0 glReadPixels()非常慢

OpenGL ES2.0 glReadPixels()非常慢

作者:互联网

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

这是代码:

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

我发现此操作非常缓慢… openGL ES2.0(Android)中还有其他替代方法吗?

解决方法:

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

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

标签:opengl-es,glreadpixels,android,opengl-es-2-0
来源: https://codeday.me/bug/20191030/1967810.html