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