Что бы ещё включить? Часть I: антиалиасинг

для раздела Блоги
Не секрет, что многие современные игры (экшены, в особенности) обладают высоким уровнем графики и выглядят действительно круто (вспомним Crysis). К сожалению, сложные шейдеры, текстуры, эффекты пост-обработки, применяемые в таких играх, негативно влияют на производительность, превращая игру на не очень производительных видеокартах в слайд-шоу. Конечно, можно снижать качество графики и разрешение, но красивость игры пропадает, а низкое разрешение делает изображение мутным. А какие «лесенки» появляются! Тут на помощь должен прийти доктор по имени Антиалиасинг, чтобы эти «лесенки» сгладить. Сглаживание действительно помогает, правда на разрешении 640х480 хоть 128х сглаживание включи, а замыленно-корявая картинка никуда не денется. И еще одно «но»: если бы доктор Антиалиасинг за помощь ничего не брал! В реальности приходится часто жертвовать производительностью, чтобы сгладить эти «лесенки», правда на высоком разрешении от помощи доброго доктора Антиалиасинга вполне можно отказаться. Диагональ моего монитора – 15”, а максимальное разрешение – 1024х768, но даже на таком маленьком мониторе разрешение 640х480 выглядит отвратительно, что уж говорить о мониторах с бОльшей диагональю! Сглаживание действительно помогает только на 1024х768. Вот мне и интересно было проверить, как снижается производительность при его активации и какого уровня антиалиасинга хватит.

Я буду использовать для тестов все уровни антиалиасинга (кроме сглаживания прозрачных текстур, которое я рассмотрю позже): 2х, 4х, 8х, 8хQ, 16x, 16xQ. Основные уровни антиалиасинга я активирую из графических настроек в играх (если есть такая возможность), более высокие уровни – из драйвера ForceWare 174.74. Более новый драйвер я взять не могу, т.к., в среднем, 38Кбит Интернет-соединение Dial-up не позволяет скачивать нормально такие большие файлы Это же касается и невозможности пропатчить игры. Настройки тестирования – максимальные. Разрешение – 1024х768. Анизотропная фильтрация – 16х (кроме Crysis), сглаживание прозрачных текстур отключено, сглаживание – гамма-коррекция – включено.

Я использую производительный режим в драйвере:


- Включение масштабируемых текстур: нет
- Фильтрация текстур – анизотропная оптимизация образцов: вкл
- Фильтрация текстур – качество: высокая производительность
- Фильтрация текстур – отрицательное отклонение уровня детализации: разрешить
- Фильтрация текстур – трилинейная оптимизация: вкл

Список тестов и методика тестирования:

I) Crysis (моя особая настройка графики, описанная в статье об оптимизации Crysis; Depth of Field=2): Benchmark CPU.
II) Call of Duty 4 – FRAPS-тест: начало задания «Болото». Бегу вперёд до танка.
III) BioShock – FRAPS-тест: уровень «Медицинский павильон» (бегу по коридору, ведущему на уровень «Дары Нептуна»).
IV) F.E.A.R. Встроенный бенчмарк.
V) The Elder Scrolls IV: Oblivion – FRAPS-тест: Великий лес, ночь. Двигаюсь на ограниченном пространстве, чтобы не происходила динамическая подгрузка.
VI) Doom3. Открываем консоль (Ctrl + Alt + «тильда») и набираем:
timedemo demo1 d3auto и жмём Enter.
VII) S.T.A.L.K.E.R. – FRAPS-тест: начало игры – уровень “Кордон”.
VIII) Need for Speed ProStreet – FRAPS-тест: скоростные гонки с восемью соперниками на трассе «Автобанринг». Доезжаю до первого чекпоинта. Еду позади всех соперников.
IX) Assassin’s Creed – FRAPS-тест: совершаю обход комнаты с Анимусом.
Х) Call of Juarez
XI) Gears of War
XII) Mass Effect

Конфигурация компьютера:

Intel Pentium Dual Core E2160 1.8@3.2GHz (356x9), FSB 1424MHz, 1.4625V
Cooler Master Hyper TX2
Gigabyte GA-P31-DS3L
GeForce 9600GT Palit без разгона (по-обычному не разгоняется, а вольтмод
делать не хочу)
2Gb DDR2 Samsung (Dual Channel – 2x1Gb) 800@890MHz 6-6-6-18 1.8V
ForceWare 174.74 RUS
Windows XP SP2 Pro

Результаты тестов:

I) Crysis

Нужно сказать, что сглаживание из драйвера почему-то не работает. Вообще.
Оно активируется только в самой игре. И ещё: при активации сглаживания, к сожалению, отключается сглаживание прозрачных текстур, применяемое игрой. А ведь оно делает растительность визуально более приятной, сглаженной, хотя и несколько снижает чёткость (взгляните на первую картинку). Я лучше оставлю антиалиасинг выключенным. Пусть лучше на камушках будут «лесенки», зато листочки останутся «мягкими и шелковистыми»...


Без АА

Benchmark CPU:

No AA: min – 23,44; average – 34,76; max – 44,06
2x AA: min – 20,16; average – 29,20; max – 38,71
4x AA: min – 16,13; average – 27,43; max – 34,90
8x AA: min – 13,26; average – 22,49; max – 28,48

Включение сглаживания серьёзно замедляет и без того неторопливую игру. Это особенно заметно при использовании оптического прицела: тормоза зверские. Что ж, забудем про сглаживание в этой игре, благо оно не без недостатков. К тому же, оно ещё и не везде сглаживает... Вот примеры работающего АА:


AA 2х


АА 4х


АА 8х

II) Call of Duty 4

К сожалению, сглаживание из драйвера снова не работает, поэтому будет только 3 теста:

Без АА: Average: 75.488; Min: 67; Max: 80
AA 2x: Average: 63.048; Min: 56; Max: 69
AA 4x: Average: 58.022; Min: 53; Max: 61

Как видите, при желании можно замедлить что угодно... Сглаживание из игры работает корректно, но, если даже выставить в драйвере АА 16xQ, производительность будет на уровне результата без АА. Всё просто: сглаживание из драйвера не работает.

III) BioShock

В этой игре всё работает, причём даже высокие уровни. Говорят, что сглаживание
не поддерживается при игре на Windows Vista. Что ж, значит, ХР круче!

Без АА: Average: 95.463; Min: 76; Max: 136
AA 2x: Average: 80.475; Min: 65; Max: 109
AA 4x: Average: 71.824; Min: 57; Max: 103
AA 8x: Average: 65.934; Min: 44; Max: 99
AA 8xQ: Average: 56.908; Min: 44; Max: 86
AA 16x: Average: 68.124; Min: 52; Max: 98
AA 16xQ: Average: 52.455; Min: 40; Max: 78

Но посмотрите, как падает производительность! Я считаю, что для такой тёмной игры хватит и обычного мультисэмплинга 4x. Смотрим и сравниваем (я не буду показывать AA 2x, поскольку оно почти бесполезно):


АА 4х


АА 8х


АА 8xQ


AA 16x


AA 16xQ

Заметно, что Q-режимы отличаются слегка более высоким качеством.

IV) F.E.A.R.

Без АА: Average: 160; Min: 72; Max: 383
AA 2x: Average: 144; Min: 68; Max: 340
AA 4x: Average: 122; Min: 60; Max: 307
AA 8x: Average: 114; Min: 55; Max: 276
AA 8xQ: Average: 85; Min: 39; Max: 207
AA 16x: Average: 111; Min: 55; Max: 270
AA 16xQ: Average: 73; Min: 35; Max: 185

Тут, кажется, всё работает нормально, но как сильно снижается производительность! При таких настройках на высоких разрешениях GeForce 9600GT может не хватить. Впрочем, совсем не обязательно использовать 16xQ или что-нибудь ещё. Вполне достаточно стандартного AA 4x. Смотрим и сравниваем:


AA 4x


AA 8x


AA 16x

Я не показал Q-режимы, т.к. они ничем не отличаются от обычных. А производительность почему-то падает...

V) The Elder Scrolls IV: Oblivion

Без АА: Average: 82.483; Min: 79; Max: 89
AA 2x: Average: 74.396; Min: 70; Max: 79
AA 4x: Average: 65.702; Min: 62; Max: 74
AA 8x: Average: 62.757; Min: 59; Max: 71
AA 8xQ: Average: 53.178; Min: 50; Max: 61
AA 16x: Average: 58.159; Min: 54; Max: 67
AA 16xQ: Average: 46.968; Min: 44; Max: 54

А производительность всё падает и падает... Если бы только одна производительность! На самом деле, все режимы АА выше 4х выглядят абсолютно одинаково – как 4х! Но... куда же тогда уходят FPS’ы? Вот так выглядят все режимы кроме AA 2x:


AA 4x и выше

VI) Doom3

Я взял эту старую игру для тестов, потому что знаю, что в меню игры можно выбирать сглаживание 8х и даже 16х! Интересно, как оно работает?

Без АА: Average: 167.4
AA 2x: Average: 166.5
AA 4x: Average: 155.4
AA 8x (из игры): Average: 113.9
AA 8x (из драйвера): Average: 143.4
AA 8xQ: Average: 144.1
AA 16x (из драйвера): Average: 142.8
AA 16x (из игры): Average: 58.8
AA 16xQ: Average: 94.7

Ого! Даже СтароDoom задумался! Но почему в игре такие низкопроизводительные АА 8х и 16х, хотя остальные режимы работают нормально? Допустим, для AA 8x в игре на самом деле используется АА 8хQ (результаты схожи), но вот 16х... Интересно, что в самой игре таких тормозов нет. Глючный бенчмарк? Смотрим и сравниваем:


АА 4х


АА 8х


АА 16х


АА 16х (из игры)

Снова Q-режимы не дают улучшения качества (не показаны), а AA 16x из игры не только медленнее, но и несколько хуже визуально, чем из драйвера.

VII) S.T.A.L.K.E.R.

Из-за специфических технологий, применяемых в игре, использование АА невозможно, поэтому во всех режимах производительность одинаковая (всё же лучше, чем мистическое снижение производительности в Oblivion):

No AA: Average: 74.164; Min: 65; Max: 82
AA 16x (так, проверить): Average: 74.051; Min: 66; Max: 82

Раз сглаживания нет, то и показывать нечего.

VIII) Need for Speed ProStreet

Здесь, кажется, все режимы работают (из драйвера), а вот АА 8х из меню игры почему-то не пашет, поэтому включаю из драйвера.

Без АА: Average: 69.599; Min: 52; Max: 84
AA 2x: Average: 64.474; Min: 48; Max: 78
AA 4x: Average: 64.799; Min: 48; Max: 77
AA 8x: Average: 59.393; Min: 47; Max: 69
AA 8xQ: Average: 60.186; Min: 46; Max: 70
AA 16x: Average: 60.166; Min: 46; Max: 72
AA 16xQ: Average: 54.097; Min: 42; Max: 61

Здесь, конечно, производительность снижается, но не так катастрофически сильно, как в других играх. Но когда быстро едешь, разницы между AA 4x и 16xQ почти не замечаешь, а производительность нужна. Выбираем AA 4x. Смотрим и сравниваем:


АА 4х


АА 8х


AA 8xQ


AA 16x

Здесь 8xQ и 16xQ не отличаются (показан только режим 8xQ), но 8xQ производительнее и визуально лучше, чем AA 8x или AA 16x.

IX) Assassin’s Creed

К сожалению, при активации сглаживания через драйвер в игре появляются странные артефакты: квадраты в меню, квадратная засветка в игре. В меню можно выбрать 3 значения для сглаживания: 1, 2, 3, поэтому приходится гадать, какое же сглаживание активируется. Скорее всего, для значения «2» используется АА 2х, а для значения «3» - АА 4х, а значение «1» отключает сглаживание полностью.

Режим «1»: Average: 95.720; Min: 75; Max: 128
Режим «2»: Average: 84.633; Min: 66; Max: 112
Режим «3»: Average: 85.687; Min: 64; Max: 113

Разница небольшая, поэтому можно смело ставить режим «3». Кстати, на моей прошлой видеокарте GeForce 6800GS AGP разница в производительности этих режимов была бОльшей, а в The Elder Scrolls IV: Oblivion при включенном HDR сглаживание вообще не работало. Хорошо, что хоть 4х есть!

Х) Call of Juarez

А в этой игре сглаживание из драйвера не работает. Но самое плохое, что при использовании режима «шейдеры 3.0» параметр «сглаживание» блокируется. Увы.

XI) Gears of War

И здесь сглаживание не работает из драйвера. В меню есть только параметр
«DirectX 10/Antialiasing», активный только на Windows Vista. Надо бы проверить...

XII) Mass Effect

И даже новая игра показала фигу: в меню сглаживания нет, а из драйвера оно не работает. Правда, на форумах говорят, что сглаживание включается, просто нужен новый драйвер. Что ж, когда раздобуду новый драйвер, узнаю, а пока...

Выводы

Сглаживание – спорный параметр. Иногда оно вообще не работает, а если и работает, то неправильно. Бывает, некоторые режимы вообще визуально не отличаются, но производительность почему-то меняется. Вот если бы этих странностей не было... Но почему они появляются? С одной стороны, качество драйверов оставляет желать лучшего. С другой стороны, в меню игр часто отсутствует параметр «сглаживание» (от мультиплатформенности игр или ещё чего-то). Но даже если сглаживание работает нормально, то что мы наблюдаем? Серьёзное падение производительности. Время идёт, а сглаживание «бесплатным» не становится. Впрочем, в большинстве случаев достаточно обычного АА 4х.

P.S. Недавно я решил поставить Windows Vista, но сделать это так, чтобы ХР осталась. Поэтому я сделал двойную загрузку, просто установив Vista на другой раздел диска. Теперь перед загрузкой можно выбирать, какую систему загружать. Для Vista у меня был только драйвер, поставляемый с видеокартой: ForceWare 171.16. Кажется, что драйвер работает так же, как и ForceWare 174.74, но есть ряд нюансов. С одной стороны, сглаживание работает из драйвера даже в Call of Duty 4. Но и у этого драйвера есть странности. Например, в Doom 3 при первом запуске теста будет 146 FPS, а при следующем – всего 125! Причём, минимальные и максимальные значения меняются ещё сильнее. И ещё (наблюдается в играх, использующих движок Unreal Engine 3): если в драйвере выбрать АА 4х, вместо него включится АА 2х! Но если установить режим «управление приложением», то всё будет работать так, как решает игра. И вот здесь Vista выигрывает: в Gears of War сглаживание из параметра «DirectX 10/Antialiasing» работает, причём в таком режиме, да еще и с DirectX 10, производительность выше, чем на ХР без этих параметров! Только почему бы разработчикам не сделать было сглаживание отдельным параметром в меню, чтобы и пользователи ХР могли включать его через меню? Уж не потому ли, что вмешалась Microsoft? В Bioshock и Mass Effect сглаживание так и не заработало, а странности с Oblivion остались. В общем, никогда всё не работает полностью правильно... А в следующей статье я планирую изучить работу сглаживания прозрачных текстур. Сколько глюков будет на этот раз?

Обсуждаем http://forums.overclockers.ru/viewtopic.php?t=270557

artnero@mail.ru
Telegram-канал @overclockers_news - это удобный способ следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают