gpt4 book ai didi

opengl-es - FBO 的 glReadPixels 太慢

转载 作者:行者123 更新时间:2023-12-01 11:54:13 30 4
gpt4 key购买 nike

我正在使用 openGL ES 2.0 和 GLSL 着色器,并使用 Renderbuffer 处理 FBO,也就是离屏渲染。
它在 30 fps 下运行良好。
但是当我使用 glReadPixels 或 glcopyteximage2d 时,它会下降到 8 fps
我做了类似的事情:

glBindFramebuffer(GL_FRAMEBUFFER, frameBuf);
//DRAW something
glReadPixels(...); //HERE
glBindFramebuffer(GL_FRAMEBUFFER, 0);

有没有办法提高速度?我的意思是,当我不使用 FBO 并使用具有相同参数的 glReadPixels 时,它可以15 fps 并且我认为使用 FBO 可以提高速度?

最佳答案

获取 OpenGL 数据的方式很糟糕(非常糟糕)(使用任何 glGet*** 函数)。要将纹理或其某些部分复制到屏幕/其他纹理,您可以使用四边形绘制它。如果您需要像素数据进行某些逻辑处理,最好使帧缓冲区尽可能小,只在必要时读取它。

关于opengl-es - FBO 的 glReadPixels 太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8655111/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com