glgConvertTo_32 на iPhone - PullRequest
       1

glgConvertTo_32 на iPhone

2 голосов
/ 25 августа 2011

Сегодня я запускал свое приложение через Instruments и заметил, что в функции "glgConvertTo_32" тратится слишком много времени. В другом месте я читал, что это потому, что Apple использует «GL_BGRA и GL_UNSIGNED_INT_8_8_8_8_REV» для своего формата текстуры, а мой код использует GL_RGBA.

Я использую glTexture2D следующим образом:

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, textureData);

Однако ни GL_BGRA, ни GL_UNSIGNED_INT_8_8_8_8_REV не доступны в заголовках GL для iPhone. Есть ли другая причина для большого количества вызовов этой функции, или, возможно, мне нужен другой формат текстуры?

EDIT: Следует отметить, что я использую OpenGL ES 2.0.

1 Ответ

1 голос
/ 24 марта 2012

Я не знаю, действительно ли моя проблема / решение связано с вашей.Но ваш оставшийся без ответа вопрос был первым результатом, который Google нашел при исследовании моей проблемы.

Хотя я использую OpenGL ES 1.1 и не использую текстуры, я также заметил, что мое приложение тратит около 23% времени в функции glgConvertTo_32 ().

После изменения значения kEAGLDrawablePropertyColorFormat с kEAGLColorFormatRGBA8 на kEAGLColorFormatRGB565 в eaglLayer.drawableProperties функция glgConvertTo_32 () больше не вызывается.Приложение работает быстрее, и я не вижу визуальной разницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...