В iOS 5 были добавлены кэши текстуры OpenGL ES, чтобы обеспечить прямой путь от видеоданных камеры к OpenGL без необходимости копировать буферы.Было короткое введение в кэши текстур в сеансе 414. Достижения в OpenGL ES для iOS 5 WWDC 2011 .
Я нашел интересную статью , которая злоупотребляет этой концепциейдалее, в конце концов, обойдем вызов glReadPixels
, просто заблокировав текстуру и получив прямой доступ к буферу.
glReadPixels
действительно медленный из-за рендерера на основе плиток, который используется в iPad 2(даже если вы используете только текстуры 1х1).Однако описанный метод, кажется, обрабатывает быстрее, чем glReadPixels
.
Является ли предложенный в статье метод даже действительным и может ли он использоваться для поддержки приложений, использующих glReadPixels
?
Поскольку OpenGL обрабатывает графические данные параллельно с ЦП, как следуетCVPixelBufferLockBaseAddress
Знаете ли вы, когда рендеринг выполняется без общения с OpenGL?