glCopyTexImage2D как альтернатива glReadPixels (OpenGL ES) - PullRequest
4 голосов
/ 10 сентября 2011

Я сейчас снимаю скриншот игры OpenGL ES, используя glReadPixels. Снимки экрана отличные, однако вызов glReadPixels вызывает небольшое заикание в игре.

glCopyTexImage2D было предложено в качестве более эффективной замены для glReadPixels. Как работает glCopyTexImage2D? Для некоторого контекста я использую этот метод Apple .

Я относительно новичок в OpenGL, поэтому любая помощь очень ценится: -)

1 Ответ

12 голосов
/ 10 сентября 2011

Задержка вызвана перемещением большого объема памяти между GPU и CPU.Это может быть решено путем передачи кусками, немного за кадр.Но если вы читаете из кадрового буфера через серию кадров, изображение тем временем будет меняться.

Таким образом, вы копируете видеопамять в видеопамять (очень быстро), и тогда она не изменится какВы передаете это по частям.

...