Детализация текстур
 |
 |
 |
Влияние на качество |
| Сильное |
 |
Влияние на скорость |
Зависит от ускорителя для 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 - Карты освещенности
|