Я использую шейдер openGL ES 2.0 и GLSL и работаю над FBO с Renderbuffer, также известным как рендеринг за кадром.
Он отлично работает с 30 кадрами в секунду.
Но когда я использую glReadPixels или glcopyteximage2d, он падает до 8 кадров в секунду.
Я сделал что-то вроде:< бр>
glBindFramebuffer(GL_FRAMEBUFFER, frameBuf);
//DRAW something
glReadPixels(...); //HERE
glBindFramebuffer(GL_FRAMEBUFFER, 0);
Можно ли как-то улучшить скорость? Я имею в виду, когда я не использую FBO и использую glReadPixels с теми же параметрами, он работает 15 кадров в секунду, и я подумал, что использование FBO может улучшить скорость?
glReadPixels()
и т. д.? Если вы выполняете рендеринг на поверхность, почему бы не сделать это напрямую (или как можно ближе — я никогда не использовал OpenGL ES). - person Bojangles   schedule 28.12.2011