сравнения Тестирование в Q3Test



Детализация текстур

Влияние на качество
Сильное
Влияние на скорость
Зависит от ускорителя для setting 4
Слабое для setting 1-3

Качество текстур можно регулировать другим путем - уменьшением или увеличением детализации (опция Texture detail). Всего в Q3Test четыре уровня детализации. На четвертом уровне текстуры выводятся в исходном виде. Чем ниже уровень, тем больше упрощаются текстуры и тем более размазано они выглядят.


Детализация текстур также оказывает влияние на скорость. Во-первых, большие текстуры рендерятся медленнее, чем маленькие. Во-вторых, если суммарный объем текстур превышает объем видеопамяти, то на скорости сказывается подкачка текстур. Суммарный объем текстур на уровне Q3test1 показан в таблице.

  Объем текстур В 16-битном режиме В 32-битном режиме
Setting 4 9.28 млн текселов 17.7 MB ~26 MB
Setting 3 3.05 млн текселов 5.8 MB ~8 MB
Setting 2 1.5 млн текселов 2.8 MB ~4 MB
Setting 1 1.1 млн текселов 2.1 MB ~3 MB

Как известно, чипам 3dfx свойственно ограничение на размер текстур - 256x256. В Q3Test в небольших количествах применяются текстуры большего размера. На чипах 3dfx такие текстуры масштабируются до приемлимого размера (например, 512x100 - до 256x50). Из-за этого суммарный объем текстур (в текселах и байтах) получается меньше примерно на 10%.

На Savage4 применяется сжатие текстур S3TC. Хотя изначально текстуры хранятся в несжатом виде, они сжимаются при загрузке игры и попадают в текстурную память в сжатом виде. Судя по тому, что сжатию подвергаются текстуры, которые по уму сжимать не надо было (заметная деградация качества), сжатию подвергаются все без исключения текстуры. Тогда приблизительный (без учета альфа-канала) суммарный объем текстур в байтах вычисляется делением "16-битного столбца" таблицы на 4 (на каждый пиксел - по 4 бита).

Если все текстуры не вмещаются в текстурную память, то на этом уровне детализации скорость будет падать. Сравним как ведут себя платы с 16 и 32 MB видеопамяти. На уровнях детализации с 1 по 3 разница в скорости на всех протестированных платах несущественная - она не превышает нескольких процентов.

На 4-м уровне детализации ситуация более разнообразная. В 16-битном режиме (16-битный фрейм-буфер и 16-битные текстуры) только на Rage 128 и Voodoo3 скорость падает более, чем на 10%. На остальных платах разница между 3-м и 4-м уровнями не превышает 4%, поэтому грех не играть при максимальной детализации текстур.

В 32-битном режиме (32-битный фрейм-буфер и 32-битные текстуры) объем текстур резко возрастает, и это серьезно сказывается на скорости 16 MB плат. На TNT2 в разрешении 800x600x32 скорость падает ровно вдвое. Владельцы 16 MB плат Rage 128, TNT2 и G400 пролетают с максимальной детализацией 32-битных текстур. Заметьте, никто не запрещает использовать в truecolor 16-битные текстуры.

Почему же происходит такое падение скорости при нехватке текстурной памяти? Дело в том, что OpenGL-драйвера Rage 128, TNT2 и G400 не поддерживают AGP-текстурирование, поэтому подкачка текстур выполняется крайне медленно.

Сказанное выше не касается Savage4. Во-первых, текстуры в памяти хранятся в сжатом виде. Во-вторых OpenGL-драйвер Savage4 поддерживает AGP-текстурирование.

Страница 6 - Карты освещенности