Должен ли я всегда использовать формат GL_ARGB для всех текстур в OpenGL? - PullRequest
3 голосов
/ 20 июня 2010

Это беспокоило меня некоторое время ... и действительно трудно увидеть разницу в производительности, поэтому я спрашиваю здесь:

Если мои изображения не используют альфа-канал, должен ли я использовать 'GL_RGB'для сохранения их в памяти карты GFX, или «GL_ARGB», как если бы это было быстрее при обработке, так как его полный 32-битный блок?

Или карты GFX автоматически конвертируют 24-битные изображения в 32-битные изображения, чтобы ускорить их рендеринграз?

Редактировать: У меня нет проблем с производительностью, но я просто хочу сделать это наилучшим образом!Я также хочу убедиться, что программа работает хорошо на старых видеокартах, что не требует оптимизации вещей так же хорошо, как новые карты.

Ответы [ 2 ]

2 голосов
/ 21 июня 2010

Если вас беспокоит использование памяти, попробуйте сжатие текстур:

Трудно дать общий совет, какой использовать.Попробуйте те из них, которые применимы к вашему формату текстур (текстуры RGB не работают со сжатием RG) и хорошо оцените получающееся визуальное качество.

2 голосов
/ 20 июня 2010

Выберите форматы, подходящие для ваших текстурных данных , и позвольте драйверу видеокарты беспокоиться о деталях.Не пытайтесь перехитрить это.Реализации OpenGL довольно хорошо оптимизированы и будут принимать все необходимые для вас решения для наилучшей производительности, будь то преобразование всех текстур в 32bpp или какой-то другой внутренний формат.проблемы с производительностью, используйте инструмент, такой как gDEBugger , чтобы решить ваши узкие места производительности.Весьма маловероятно, что ваш формат текстур является таким узким местом.

Редактировать: Если проблема просто в нехватке памяти, то у вас слишком много слишком больших текстур.Просто как тот.Используйте сжатие, используйте текстуры низкого качества (меньше битов на канал) или используйте меньшие текстуры.

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