EGL_KHR_IMAGE <- что это и когда я должен его использовать

Может кто-нибудь объяснить простыми словами, что такое образ egl, и пример того, когда я хотел бы использовать его? Я знаю, что это может значительно повысить производительность, но у меня проблемы с поиском документации. Прежде чем я попытаюсь это понять, я хочу убедиться, что это даже стоит изучить.

Благодарю.

2 ответа

Решение

Таким образом, год спустя я стал большим экспертом в графике Android и фактически написал документ о EGL Images. Если моя компания разрешит мне опубликовать статью за рубежом, я опубликую ее здесь. Пока вот короткий ответ.

EGL-изображение - это просто текстура, содержимое которой можно обновлять без необходимости повторной загрузки в VRAM (что означает отсутствие вызова glTexImage2D). Одним из недостатков, помимо повышенной сложности кода, является то, что разработчик приложения должен самостоятельно выполнять синхронизацию. В приложениях, которые я написал, мне приходилось реализовывать собственную "внутреннюю" цепочку обмена EGL-изображениями и управлять всеми примитивами блокировки самостоятельно. Таким образом, вызов eglSwapBuffers меняет местами передний и задний кадровые буферы, как обычно, но в отдельном потоке есть 2 EGL-изображения, меняющихся спереди назад, когда становится доступным новый контент.

Документация Khronos находится по адресу:

http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image.txt

http://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image_base.txt

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

Другие вопросы по тегам