Главная » Программирование игр под Android » Уменьшение размера текстуры – выбираем меньше пикселов – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

0

Что еще можно изменить? Кое-что, что не так уж очевидно. Наши экземпляры класса Bob имеют размер 32 х 32 единицы. Мы используем плоскость проекции размером 320 х 480 единиц. На Него получаем идеальную визуализацию с точностью до пиксела. На Nexus One или Droid одна единица в нашей системе координат будет занимать чуть меньше пиксела. В любом случае наша текстура фактически имеет размер 128 х 128 пикселов. Нам не нужно такое большое разрешение, уменьшим размер изображения текстуры bobrgb888. png до 32 х 32 пиксела. Назовем новое изображение bobrgb888-32×32. png. Используя эту меньшую по размеру текстуру, получим следующие значения кадровой частоты для каждого устройства:

Оказывается, на устройствах второго поколения разница весьма велика. Дело в том, что их графические процессоры совершенно не приспособлены к сканированию большого количества пикселов. Это же справедливо для выбора текселов из текстуры и визуализации треугольников на экране. Скорость, на которой графические процессоры могут загружать текселы и визуализировать пикселы во фреймбуфере, называется скоростью заполнения (fill rate). Все графические процессоры второго поколения характеризуются крайне низкой скоростью заполнения, так что нужно стараться использовать как можно более маленькие текстуры (или наносить на наши треугольники только малую часть) и не визуализировать очень большие треугольники на экране. Мы также должны следить за наложением: чем меньше треугольники пересекаются, тем лучше.

ПРИМЕЧАНИЕ

Вообще-то наложение не такая уж и большая проблема таких графических процессоров, как PowerVR SGX 350 на Droid. Эти графические процессоры имеют специальный механизм отложенной визуализации частей, который при определенных условиях справляется с большинством наложений. Однако приходится учитывать и те пикселы, которые не будут отображаться на экране.

НТС Него выиграл от уменьшения размера изображения текстуры совсем немного. В чем же дело?

Источник: Mario Zechner / Марио Цехнер, «Программирование игр под Android», пер. Егор Сидорович, Евгений Зазноба, Издательство «Питер»

По теме:

  • Комментарии