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, это может не сильно помочь. Я не смог понять их сам.