Эффект разрыва OpenGL при рендеринге в EGL

У меня есть несколько приложений Qt, отображаемых с использованием OpenGL на поверхностях, предоставленных реализацией EGL на плате ARM. Я испытываю какой-то разрыв в рендеринге.

Прочитав все вокруг, я обнаружил, что это может быть проблема, связанная с vsync, поэтому я использовал вызов EGL eglSwapInterval(eglDisplay, 1), но разрывы все еще сохраняются. Достаточно ли этого звонка, чтобы убрать разрыв? Должен ли этот вызов полностью удалить такой эффект? Возможно ли, что надрывы остались?


person Luca Carlon    schedule 22.10.2011    source источник
comment
Есть новости по этому вопросу, @Luca?   -  person karlphillip    schedule 18.01.2012
comment
Я добавил ответ. Я все равно не знаю, насколько это может помочь.   -  person Luca Carlon    schedule 18.01.2012


Ответы (2)


Прочитав источники реализации EGL, которые мне дали, я обнаружил, что для функции eglSwapInterval нет реализации. Нужна конкретная реализация. После этого больше не рвется.

person Luca Carlon    schedule 18.01.2012
comment
Вы действительно реализовали eglSwapInterval для i.MX6, чтобы решить проблему? - person Isaac; 19.09.2015
comment
Ах, извините. Я смешал ответ @Ray с вашим и подумал, что вы также работаете над процессорами i.MX6. Тем не менее, не могли бы вы рассказать о реализации eglSwapInterval? - person Isaac; 20.09.2015
comment
Это было характерно для моего драйвера, который не был предназначен для обеспечения этой функции. Использование двойной буферизации должно устранить этот эффект. - person Luca Carlon; 20.09.2015

Переменная среды FB_MULTI_BUFFER=3 активирует мультибуферизацию на плате Freescale i.MX 6 (Sabrelite) с некоторой последней сборкой LTIB.

person Ray    schedule 24.09.2013