Загрузка Видеопамяти TGAvsDDS
Заметки о небольшом тесте сравнения ТГА и ДДС форматов по отношению к загрузке видеопамяти.
Суть теста, проверить на практике оправданность отказа от поддержки ТГА формата, как менее прогрессивного против ДДС.
*это актуально для темы МСР.
Метод Теста.
- простые модели с изменяемой текстурой, ТГА или ДДС.
- загрузка в игру через ИНИ файл.
- загрузка в сцену с фиксированным набором предметов.
- полная загрузка сцены и переход в тестовую ячейку в которой меняется целевой объект с текстурой.
- тест прогонялся по два раза с каждой моделью и текстурой.
1. Текстура ХХХ была сжата в ТГА и ДДС разными методами.
2. Создан простейший меш на которой она была наложена.
3. Создан небольшой плагин, где менялся только тестовый меш в сцене.
Т.е. вся разница в сцене заключалась в той текстуре +- наличии свойств альфы в модели.
Мониторинг:
- МSI AfterBurner в реальном времени на втором мониторе.
Цель теста:
- определить расход видеопамяти от размера и типа текстуры.
Т.к. было замечено, что ТГА текстура создает ЛОДы на уровне видео карты, в то время, как ДДС уже имеет заданные ЛОДы.
- также выяснить разницу в заполнении РАМ видео карты в зависимости от размера и типа текстуры.
Текстура создавалась большого размера, т.к. именно здесь проявляется выгода ТГА формата.
1. 2048x2048 DDS ARGB8888 with ALPHA channel. Размер файла 21.3 MB маркер: A
2. 2048x2048 DDS DXT 1 no ALPHA channel. Размер файла 2.66 MB маркер: B
3. 2048x2048 TGA no Compress. Размер файла 16.0 MB маркер: C
4. 2048x2048 TGA compress RLE. Размер файла 5.02 MB маркер: D
Для верности были созданы меши с наличием Альфа канала и без оного. Фз, как там свойства альфы влияют.
1. -A with Alpha properties (in the .nif) маркер: A1
2. -A without Alpha. маркер: A2
3. -B the texture маркер: B1
4. -C with Alpha properties (in the .nif) маркер: C1
5. -C with Alpha properties (in the .nif) маркер: C2
6. -D without Alpha (in the .nif). маркер: D2
Итоговые результаты:
Базовая загрузка ОЗУ видео карты 5 мб, чистый рабочий стол.
Стартовая локация при полной загрузке 343 мб.
*348 в целом.
После достижения стабильного фиксированного значения совершался переход в тестовую ячейку.
A1 - 407 мб.
A2 - 407 мб.
B1 - 393 мб. - базовая ДХТ 1 без альфы, вероятно это сказалось на заполнении ОЗУ.
C1 - 407 мб.
C2 - 407 мб.
D2 - 407 мб.
*Загрузка ГПУ была в среднем 50 % во всех случаях.
*Удаление от объекта, не приводило к освобождению ОЗУ.
Итого:
На загрузке ОЗУ видеокарты, разница между ТГА и ДДС форматами не сказывается.
Особо сильной разницы в ФПС отмечено не было, также.
Наличие свойств альфы в модели - роли не играло.
Примечание.
Ради интереса пережали в ДДС 888х формата, пару сотен небольших ТГ файлов. (64х, 128х, 256х)
получили:
+65 мб к размеру файлов.
Т.е. 235 мб. против 170 мб.
Таким образом, если использовать формат ДДС5 получается экономия, но если в 888 формат, размер архива возрастает ЗНАЧИТЕЛЬНО;))
Отчего полная замена ТГА на ДДС формата 888х - выглядит не вполне оправданной.
Использование ТГА, в ряде случаев, может заметно уменьшить размер плагина (.бса и РАР).
Примечание.
Основное использование ТГА - спрайты и ореолы, где важно плавное затухание текстуры по альфе.
Т.е. отсутствие градиента.
Использование ТГА, избавляет от необходимости создания альфа канала в ручную и позволяет создавать текстуры быстрее и легче.