Сглаживания, или как потерять в производительности не всегда получая лучшее качество

Сглаживания, или как потерять в производительности не всегда получая лучшее качество

Сглаживания в играх вещь распространённая, и это довольно важная составляющая при восприятии картинки. Но не все виды сглаживания могут похвастаться низкими требованиями к железу или качественным результатом, или всё вместе. Но не исключён вариант что некоторые виды сглаживания могут показывать достойный результат, при этом предъявляя низкие требованиях к компьютеру.

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

Для тестов я взял игры в которых возможно однозначно определить используемый параметр сглаживания, ибо под сглаживанием, где не указан точный метод, может использоваться всё что угодно, даже изменение исходного разрешения. К примеру, вот что специалисты из Digital Foundry написали про сглаживания в Assassin’s Creed Odyssey (перевод любительский):

При высоком параметре исходное разрешение сохраняется, так же данные из предыдущих кадров интегрируются в текущий кадр, обеспечивая более плавный и стабильный кадр благодаря временной реконструкции. Средний и низкий параметр (сглаживания — прим. авт.) фактически снижает исходное разрешение примерно до 90% и 80% соответственно, полагаясь на временный суперсэмплинг для добавления дополнительных деталей.

Digital Foundry

Получается, что при низком и среднем параметре сглаживания картинка начинает рендериться в более низком разрешении. И как в этом случае проводить параллели, если две игры будут использовать один и тот же метод сглаживания, но в перовом случае игра будет использовать более низкое исходное разрешение и технологии временной реконструкции до необходимого разрешения, а вторая игра будет рендерить картинку по честному? Разумеется, в первом случае fps будет выше, что можно проверить по тестам того же самого Ассасина, где при включении минимального сглаживания кадровая частота увеличивается.

Таким образом из списка своих игр я отобрал несколько проектов (в скобках указаны доступные сглаживания):

  • Assassin’s Creed Unity (FXAA; MSAA 2x, 4x, 8x; TXAA)
  • Assassins Creed Syndicate (FXAA; MSAA 2x, 4x + FXAA; TXAA 2x, 4x + FXAA)
  • Rise of the Tomb Raider 20 Year Celebration (FXAA; SMAA; SSAA 2x, 4x)
  • Shadow of the Tomb Raider Definitive Edition (SMAA _, 4x; SMAAT2x; TAA

Все игры в тестах лицензионные, сервис через который запускались игры будут указываться отдельно. Это делается из-за недавнего материала, где игра, запущенная через Steam и EGS, может выдавала различную кадровую частоту (материал по можно изучить тут — ссылка). В этой статье одна и та же игра была запущена через два лаунчера, на двух ПК, и при всех тестах EGS-версия стабильно выдавала на 1-3 кадра больше.

Разумеется, у меня есть ещё игры которые поддерживают выбор сглаживания, но если бы я решил использовать в тестах CS:GO или Portal 2 из начала 2010-ых, которые были созданы на основе морально устаревшего DX9, или GTA V, созданная для поколения Xbox360 и PS3, но которая использует на ПК более современный DX11. Данные игры уже морально устарели в техническом плане. AC Unity тоже игра не первой свежести, но создавались она уже под 8 поколение консолей, PS4 и XBox One.

Но есть ещё пара игр, и с ними уже интересней. Из наиболее современных у меня установлены Mafia Definitve Edition и Cyberpunk 2077. Если в случае с первой игрой настройки сглаживания выставляются пресетами, про что я писал выше, то в Cyberpunk 2077 вообще нет настроек сглаживания. И при первой же попытке прогуглить всё становиться на свои места: настройки сглаживания можно изменять либо копаясь в конфигурационных файлах, либо устанавливая специальные моды. Так же как игра хороша в сюжетном плане, так же она проваливается в техническом.

Assassin’s Creed Unity

Игра запускалась через Ubisoft Connect

Прорисовка местности — Очень высоко; Текстуры — Максимально высокое;Тени — Мягкие тени Nvidia; Ambient occlusion — HBAO+

Начнём с самой старой игры в данном списке, — Assassin’s Creed Unity. Игра поддерживает 5 сглаживаний, которые реализованы через три различные технологии. И технология, которая выделяется из списка, это TXAA. Технология сглаживания, разработанная компанией Nvidia, которое представляет из себя прокаченный TAA. И для меня это самое интересное, ведь опираясь на технологии временного сглаживания, по заявлениям Nvidia, оно может обеспечивать качество сопоставимое с более требовательным MSAA. Не будем затягивать и перейдём к скриншотам:

А в плане FPS ситуация следующая:

Сглаживание FPS Падение производительности (%)
Без AA 64 0
FXAA 61 4
MSAA 2x 49 23
MSAA 4x 31 51,5
MSAA 8x 20 68
TXAA 31 51,5

Падение производительности указывается от настройки «Без АА»

Для меня очень интересно было сравнить TXAA с MSAA 4x, которые показывают одинаковую производительность, но вот в плане качества картинки различия есть. Рассмотрим их подробнее отдельно.

  1. Ворота чётче при MSAA, так же ситуация с забором. На воротах при сильном увеличении можно даже разглядеть черты гербов. Этим же объектам TXAA добавляет размытия.
  2. При включении MSAA на окнах появляются пиксели, при том что при других сглаживаниях нет такой проблемы. TXAA просто убирает часть лесенок.
  3. TXAA cглаживает углы зданий, практически убирая лесенки. Трубы, которые немного выше, имеют чёткую ступень и немного пикселей по краям при MSAA, с TXAА они размываются, как и с воротами.
  4. Похожая ситуация и с Нотр-Дам-де-Пари, где при MSAA 4x лесенки и пиксельность внутри текстуры сохраняется, TXAA опять мылит текстуру, но лесенки и пиксели практически исчезают.

Тут уже каждый для себя может решить, что ему важнее, более чёткая картинка с пикселями или более мыльная картинка, но с меньшей пиксельностью. В целом, обратите внимание на то что при включении MSAA появляются пиксели, которых нет без AA, нет их и с FXAA или с TXAA. Скорее всего это проблема игры которую так и не поправили, ведь о техническом состоянии игры на старте говорили много, моё же мнение про игру в текущих реалиях можно посмотреть тут.

Так же Вы можете полистать картинки и поискать отличия и разницу для себя, и рассказать о ней, ведь я продемонстрировал далеко не все различия, и большей частью заострил внимание только на двух сглаживаниях.

Assassin’s Creed Syndicate

Игра запускалась через EGS, но после запуска игра больше не требует его наличия в фоне, в следствии чего работал только Ubisoft Connect

Окружение — Cверхвысоке; Текстуры — Высокие; Тени — PCSS Ультра; Ambient occlusion — HBAO+ Ультра

Следом идёт Синдикат, который имеет уже не просто сглаживания, а комбинации методов. И самое главное, что объединяет все виды сглаживание между собой в данной игре, так это то что они задействуют FXAA. Так что различий между итоговыми изображениями будет меньше, ведь FXAA это постобработка. Да, я заикался что я не буду говорить про принципы работы сглаживаний, но с вашего позволения всё же пара слов об FXAA и почему тут разница может быть менее заметной. FXAA работает уже после построения кадра, на этапе постобработки. Данная технология ищет резкий переход между цветами и данное место размыливает. Таким образом постоянное использование FXAA будет размывать некоторые участки, где, в теории, могли быть различия в качестве.

Сглаживание FPS Падение производительности (%)
Без AA 48 0
FXAA 46 4
MSAA 2x + FXAA 34 29
MSAA 4x + FXAA 29 39,5
TXAA 2x + FXAA 40 17
TXAA 4x + FXAA 30 37,5

FXAA это «лёгкое» сглаживание, а MSAA тяжелее TXAA, поэтому MSAA показывает кадров немного меньше, хотя качество графики меняется не сильно. Всё дело, как я уже отмечал, в постобработке. В принципе, искать отличия можно, мне бросилось в глаза некоторые детали заднего плана, такие как тросы на кораблях, которые выглядят чётче с мульти семплингом, ведь комбинация FXAA + TXAA создаёт замыливание немного больше. Похожая ситуация и с забором, который MSAA делает более чётким и выраженным. Но в целом картинки максимально похожи.

Rise of the Tomb Raider

Игра запускалась через EGS

Текстуры — Очень высоко; Анизотропная фильтрация — 16х; Тени — Очень высоко; Детализация — Очень высоко; Динамическая листва — Высоко; Ambient occlusion — HBAO+;Отражения света — Очень высоко; Глубина резкости — Откл.

Сибирская Лара не предлагает нам комбинаций, но в списке рассматриваемых сглаживаний новичок — SSAA, которое изначально рендерит картинку в более высоком разрешении и после «ужимает» до заданного разрешения. И это вроде как должно сделать картинку качественнее, но рендер в более высоком разрешении может ударить по кадровой частоте. Смотрим так ли это:

Читать статью  Как проверить совместимость процессора и видеокарты

Сглаживание FPS Падение производительности (%)
Без AA 74 0
FXAA 73 1
SMAA 69 7
SSAA 2x 45 39
SSAA 4x 32 57

Очень хорошо следить за различиями между сглаживаниями можно по двум бочкам, железной слева и деревянной справа, а также по корпусам медеплавильного завода. Минимальное сглаживание уже позволяет избавиться от большинство лесенок. SMAA немного улучает восприятие, убирая часть мыла после FXAA. В целом, в данной игре сглаживания расположение по порядку, от менее требовательного, с наименьшей работой на кадром, к наиболее качественному и затратному.

SSAA привносит в кадр мелкие детали, что в частности можно заметить по деревянной стеночке у железной бочки, и за счёт виртуальных пикселей делает края текстур более качественными. Для этого используется, как уже я отметил, рендер в большем изначальном разрешении, которое для FHD составляет 2688×1512 пикселей при 2х (разрешение немного больше чем 2k, что даёт чуть больше 4 миллионов пикселей против ~2 миллиона у 1080р) и 3840×2160 с SSAA 4x (а это уже разрешение 4k на секундочку). Разумеется это всё влияет на общую детализацию, но и по кол-ву кадров в секунду можно заметить что это не проходит бесследно.

Shadow of the Tomb Raider

Игра запускалась через EGS

Текстуры — Ультра; Анизотропная фильтрация — 16х; Тени — Высоко; Детализация — Ультра; Ambient occlusion — HBAO+; Отражения света — Очень высоко; Screen Space Contact Shadows — Высоко; Глубина резкости — Откл.

Следующая тётя Лариса, в отличии от других игр, не предлагает нам простейшего FXAA, но зато появляется новое сглаживание — TAA. Посмотрим что будет в итоге:

Сглаживание FPS Падение производительности (%)
Без АА 61 0
SMAA 58 5
TAA 58 5
SMAAT2x 56 8
SMAA 4x 42 31

Один момент перед началом, — один из кустов на правом берегу не захотел отрисовываться, хотя до того как сделать скриншот, после каждого изменения настроек, я ждал минуты по 2. Это очень забавная ситуация, ведь если бы я рассматривал кадры прямо в игре, то я бы это заметил это и сменил положение героини. Данное состояние куста наблюдается только в данной позиции, если отойди от данного место хоть на сантиметр или прицелится, то куст обретает своё привычное состояние.

При этом основные отличия находятся в левой части кадра, вот места, к которым можно присмотреться:

Поручень на пирсе и нижняя доска, которая находится на уровне воды, при сглаживании теряет большую часть лесенок, хотя эти же самые сглаживания замыливают зазоры между досками. Так же при включении сглаживания пиксели и лесенки на крыше практически исчезают, хотя в разной степени всё же остаются. На лодке, под цифрой 3, при включении SMAA кол-во лесенок и неровностей минимизируется, использование других сглаживаний ещё сильнее уменьшает их количество. В случае с SMAA 4x это произошло из-за большей выборки пикселей, а SMAAT2x и TAA сделали это благодаря технологиям временного сглаживания.

Из менее интересного можно посмотреть на плакат справа сверху, который так же немного меняется. Без сглаживания его границы игра нам «строит» из лесенок, и даже минимальное сглаживание эти лесенки разбирает на запчасти, но вот с текстом интересней: при SMAA и без сглаживания надпись немного меньше. Обратите внимание на буквы «L», первая буква на плакате, и букву «D», первая буква третьего слова. Без AA или с SMAA данные буквы немного меньше, с другими сглаживаниями происходит «утолщение» этих букв, L-ка набирает немного с левой стороны, а D-шка практически закрывает дырку от бублика в середине и так же набирает в объёме.

Заместо итога

Сглаживание действительно влияет на восприятие картины и на производительность, как неожиданно. Если смотреть на сглаживание которое попалось в трёх играх, FXAA, то в среднем оно уменьшает производительность на 3%, что в большинстве даже не заметно. Но это если мы будем смотреть на кадровую частоту, картинку оно меняет, местами даже заметно. Лесенки и мелкие детали стараниями данной технологии заменяются на размытые текстуры. TAA, который правда попался только в одной из игр, так же размывает текстуры, но делает это более качественно, а если смотреть на его улучшенную версию, TXAA, то оно местами показывает себя ещё лучше. Временные сглаживания в принципе смотрятся достойно, ведь даже в DLSS 2.0 для построения кадров используются технологии временной реконструкции, так что не исключено что для этого специалисты из Nvidia подтянули какие-то наработки из TAA или TXAA.

Если же мы будем смотреть на самые требовательные сглаживания, то всё тоже более-менее логично: самое требовательное сглаживание из предложенных это SSAA 4x, на втором месте MSAA 8x, которые отбирают у пользователей 57 и 51,5% производительности. В первом случае это обусловлено рендером всего кадра в разрешении 3840×2160, а второй метод создаёт картинку уже в 8 раз больше исходной, но не на всей площади кадра, а только на границах объектов. И там и там такие требования к железу вполне объяснимы.

Качество картинки. Тут уже сложнее, ибо восприятие картинки для каждого своё, и помимо очевидного, убирания лесенок, некоторые изменения воспринимаются по разному. В частности, я знаю достаточно людей которые предпочитают играть без всякого сглаживания, нежили ставить FXAA, я же не против небольшого мыла и спокойно могу выставить FXAA или же, если есть, разновидности TAA. Вернёмся к перовой игре, где у нас есть выбор: пиксильность с MSAA или размытие с TXAA, в это ситуации я бы предпочёл TXAA и не переживал бы по поводу размытия гербов на воротах в дали. Единственная игра, где разница для меня была минимальной, это Assassins Creed Syndicate, где большинство различий между MSAA и TXAA, как в Единстве, съедает постобработка в лице FXAA. И в данной ситуации я бы выбирал сглаживание которое меньше сажает FPS.

Однако данный тест нельзя назвать полностью объективным. Дело в том что изначально я тестировал Shadow of the Tomb Raider в другой локации, но после небольшой технической накладки, о которой дальше, я начал делать перетест. И в результате перетеста в другой локации, в картинке появились отличия, которые можно заметить без лупы. До этого тесты, которые я делал в скрытой деревне, показывали различия в кадровой частоте, но не в картинке. Какой из этого можно сделать вывод? Вполне очевидный: в игре есть локации которые не сильно меняются при включении сглаживания. На это может влиять дальность на которой подгружаются текстуры высокого разрешения, от дальности отрисовки мелкий деталей. Часть параметров разработчики могут специально занижать, дабы их продукт запускался на большем количестве систем. Например на консолях разработчики очень часто снижают различные параметры, в частности буфер альфа канала, что позволяло на консолях прошлого отрисовывать в сцене меньше частиц и полупрозрачных элементов, а уже это положительно сказывается на стабильности работы.

Так что подобрать локацию для действительно объективного теста очень сложно, я пытался подобрать сцены где есть множество деталей, которые, даже в теории, могут отличаться. Так что, вполне возможно, если побегать по карте Синдиката ещё, то можно найти сцену где различия будут заметные.

Но этот тест я сделал не для того чтобы искать различия в графике, это больше побочный результат. Я могу поиграть в пиксельный рогалик, такой как «Loop Hero» или «Vampire Survivors», песочницу «Teardown», приключение «LumbearJack» или логическую игру «Papers, Please». Да мне кажется что во всех перечисленных играх полигонов меньше чем у модели какого-нибудь главного героя в современной ААА игре. Для меня на первое место выходит вопрос производительности, ведь с лесенками смириться можно, а вот с кисельностью управления и нестабильным ферйм таймом уже сложнее. Так же я хотел понять в какую сторону вообще дует ветер в данном вопросе.

И вот это вопрос поинтересней, ибо на примере 4 игр из двух франшиз я кое-что смог заметить. А вы заметили некую тенденцию? В первых частях были обыкновенные сглаживания, во второй части ассасинов пошли комбинации методов. Вторая же часть Лары пошла дальше, — появилась не только комбинация сглаживаний, но также отказались от FXAA в пользу ТАА. Syndicate вышел одновременно с Rise, Shadow вышла на три года позже. И к моменту выхода Shadow, в 2018 году, в ассасинах уже применялись технологии временной реконструкции, опять же вспоминаем отчёт DF в начале материала. Из этого можно сделать вывод что это тенденции индустрии в целом, сначала обыкновенные сглаживания, после чего последовал отказ от традиционных технологий в пользу комбинаций, за этим начался переход к “временным” технологиям (сглаживанию и реконструкции). Моя ставка что традиционные сглаживания и дальше будут заменяться на новые технологии, разве что некоторые разработчики будут писать что применяется в их игре. Как я отмечал комбинации методов применяются всё чаще, всё сильнее приживаются технологии апскейла и реконструкции кадров… Так что я не исключаю что через некоторое время такой старинный параметр, как сглаживание, может вовсе отойти на второй план.

Одним из фактов, который говорит в пользу данной теории, является вот такой немного странный пример. Думаю что большинство знают, ну или точно слышали, про DLSS (Deep Learning super sampling, суперсэмплирование на основе глубокого обучения), умное сглаживание и масштабирование разработанное компанией Nvidia, но кто-то ещё помнит про DLAA (Deep Learning anti-aliasing, сглаживание на основе глубокого обучения)? Это очень похожие технологии, но в отличии от DLSS, DLАА не прибегает к реконструкции кадров и работает с исходным разрешением. В скольких играх Вы видели данную настройку? Жива ли данная технология вообще? Возможно прирост от данной технологии оказывается не таким большим как от DLSS, может внедрять сложнее, или в раскрутку данной технологии Nvidia не вливает столько же средств как в DLSS… Как бы то не было игроделам гораздо интересней использовать DLSS, что, помимо всего прочего, позволит попасть в рекламные материалы Nvidia и дополнительно пропирится.

Читать статью  Бюджетный процессор Intel Core i3 7100 - характеристики и обзор

А теперь о технической накладке, которая натолкнула на размышления о том, во что действительно упирается система? В момент тестов Лары MSI Afterburner показывал упор в ГПУ, частоты которого не поднимались выше 1800 МГц, хотя карта может буститься до 2 ГГц. И после некоторых экспериментов выяснилось что предел потребления видеокартой (Power Limit) после какого-то обновления урезался до 70%, толи драйвер так захотел, толи обновление Afterburner пошалить решило. После того как значение было возвращено на 100% в тех же самых тестах карта стала брать доступные её 1995 МГц, а загрузка ГПУ осталось на уровне 100%. И после этого пришлось делать перетест с видеокартой работающей на максимум.

Так что иногда загрузка какого-то компонента на 100% не обозначает его реальную загрузку на эти 100%, возможно где-то есть другой ограничивающий фактор. В данном случае это предел потребления, может случиться что процессору не хватает данных и пока он их ждёт система не работает на максимум, а загрузка то 100%, ведь задача стоит. Может такое случиться что переполнен видеобуфер, а в системе медленная ОЗУ или забита шина PCI-e, а может процессор занят другими задачами, из-за чего он вовремя не может доставить данные из RAM в VRAM. И из-за всего этого видеокарта простаивает и сажает производительность, хотя загрузка так же будет в 100%.

Что такое сглаживание в играх и какое лучше выбрать

Персональный дизайн Дерзкий и яркий Без RGB подсветки Минималистичный дизайн Сделайте все по красоте! В белом исполнении Компактный размер важен Кастомное водяное охлаждение Самый мощный, VIP Лимитированная версия Ноутбук

Введите свой вариант
Шаг 2 из 3, дальше — контакты

Сроки и бюджет

Только один вариант
Вчера В течении 2-3 дней В течении недели В течении месяца Больше месяца
До 100 тыс 150-250 тыс 250-500 тыс 0,5-1 млн Больше 1 млн
Шаг 3 из 3

Контакты

Cвязаться c
Отправить заявку
Нужна помощь в выборе?
Мы готовы помочь Вам

Сглаживание в играх

Когда мы заходим в настройки графики любой современной игры, то видим множество параметров. Некоторые из них у нас не вызывают вопросов. Например, качество текстур, очевидно, отвечает за то, насколько детализированными будут внутриигровые модели. Но в графических настройках встречаются параметры, названия которых нам совершенно ни о чем не говорят. И одним из таких является сглаживание. Далее мы расскажем, зачем нужна данная технология, как ее включить, а также как работают наиболее популярные алгоритмы.

Но перед этим оговоримся, что для простоты восприятия мы опустим сложные нюансы. Рядовому геймеру нет необходимости подробно знать о каждом алгоритме сглаживания. Наша задача – донести до вас информацию так, чтобы вы научились легко настраивать графику в видеоиграх.

Что такое сглаживание
и для чего нужно

Чтобы понять, для чего нужно сглаживание в играх, кратко познакомимся с конструкцией дисплеев. Изображение на современных мониторах строится при помощи маленьких квадратных пикселей. К примеру, у дисплеев Full HD их количество составляет 2 073 600 штук. Когда нам нужно изобразить прямую линию, никаких проблем нет. Но если нам требуется построить диагональ, то возникает эффект «зубчатости». Его также называют «ступенчатостью» или «лесенками», но научное название – «алиасинг».

Сглаживание в играх

Избавиться от этого эффекта можно тремя способами:

  • перестать пользоваться жидкокристаллическими мониторами;
  • увеличить максимальное число пикселей на дисплее;
  • разработать алгоритм для устранения алиасинга.

От первого варианта человечество напрочь отказалось. Дело в том, что ЖК-дисплеи (LCD) формируют крайне качественную картинку. Мониторы с электронно-лучевой трубкой, которые были популярны ранее, хоть и не имели «лесенок», но значительно уступали по детализации.

Второй вариант очень сложен в реализации. Изготавливать электронику с миллионами крохотных компонентов невероятно трудно. К тому же увеличение пикселей значительно повысит стоимость производства. Многие пользователи просто не смогут себе позволить настолько дорогую технику. Да, начиная с 2013 года в магазинах начали появляться мониторы и телевизоры с разрешением 4K. Они имеют примерно на 6 миллионов пикселей больше, чем у Full HD дисплеев. Но их стоимость, а также необходимость покупать топовые видеокарты отпугивают геймеров даже в 2023 году. Согласно статистике Steam, лишь 2,6% пользователей имеют 4K мониторы. Но высокая цена – это только одна из проблем. Другая заключается в том, что дисплеев с разрешением 4K все равно недостаточно для устранения алиасинга. «Ступенек» становится гораздо меньше, но они не пропадают полностью. А о массовом использовании 8K дисплеев не может идти никакой речи.

И остается третий вариант – разработать программу по устранению «лесенок». Графические инженеры именно так и поступили. Они дали этой технологии название «Anti-Aliasing» или по-русски «Сглаживание». Таким образом, сглаживание – это алгоритм, который устраняет эффект «ступенчатости» на границах кривых линий.

Какие виды сглаживания в играх бывают

Казалось, что избавиться от алиасинга будет просто. И действительно, программисты относительно быстро нашли способы его устранения. Разработанный метод отлично справлялся с «зубчатостью». Однако у этой разработки был всего один недостаток – она требовала невероятно много вычислительной мощности. Игровых разработчиков это совершенно не устраивало, а потому графические программисты начали искать альтернативные способы исправления этого эффекта. И все эти поиски привели к тому, что на сегодняшний день созданы десятки самых разных алгоритмов. Более того, они продолжают разрабатываться и совершенствоваться. На дворе 2023 год, но проблема сглаживания в современных играх по-прежнему не решена.

А все дело в огромном количестве недостатков, которые присутствуют у алгоритмов. Необходимость в дополнительной вычислительной мощи – это только одна из проблем. Дело в том, что в компьютерной графике существует несколько видов алиасинга. И все алгоритмы хорошо справляются с одними их типами, но плохо с другими. Не нужно знать все от и до о каждом виде алиасинга, чтобы правильно настраивать графику в играх. Но давайте кратко ознакомимся с ними:

  • Геометрический алиасинг. Возникает при построении наклонных линий. Например, когда перед нами стена, мы видим «лесенки» на ее границах.
  • Подпиксельный алиасинг. Возникает при отображении узких объектов. К примеру, линии электропередач просто исчезают на расстоянии.
  • Субпиксельный алиасинг. Возникает при сближении узких объектов друг к другу. Например, удаляясь от решетки, ее прутья начинают превращаться в «кашу».
  • Алиасинг прозрачности. Возникает во время отображения множества мелких объектов – при удалении от дерева, листва начинает «мерцать».
  • Текстурный алиасинг. Возникает при рассмотрении текстур под углом – чем дальше текстура ландшафта, тем сильнее она размывается.
  • Шейдерный алиасинг. Возникает при создании контрастного освещения. К примеру, яркое солнечное отражение может создавать квадратные артефакты.

В итоге желание найти баланс между производительностью и эффективностью породило десятки типов сглаживания. Однако к 2023 году разработчики отмели многие из них, и сегодня используются только следующие виды сглаживания в играх:

  • Super Sampling Anti-Aliasing (SSAA);
  • Coverage Sampling Anti-Aliasing (CSAA);
  • Temporal Anti-Aliasing (TAA);
  • Fast approXimate Anti-Aliasing (FXAA);
  • Morphological Anti-Aliasing (MLAA);
  • Subpixel Morphological Anti-Aliasing (SMAA);
  • Deep Learning Super Sampling (DLSS).

Все эти слова и аббревиатуры выглядят страшно только на первый взгляд. Далее мы опустим множество технических нюансов и сфокусируемся только на принципе работы этих технологий. Вы поймете, что ничего суперсложного здесь на самом деле нет.

SSAA (Super Sampling Anti-Aliasing)

Помните, мы говорили, что разработчики относительно быстро нашли метод по устранению «лесенок»? Так вот, этим самым методом был Super Sampling Anti-Aliasing или сокращенно SSAA (у нас его принято называть суперсэмплингом). Чтобы создать алгоритм по удалению «ступенек», разработчики придумали помещать в центр пикселя виртуальную точку. Ей дали название «Sample». Если диагональная линия пересекала эту точку – пиксель загорался, если не пересекала – пиксель не выводил изображение.

Сглаживание в играх

Как видно на схеме, построить таким способом нормальный треугольник, состоящий из диагональных отрезков, не получается. И тогда разработчики решили помещать внутрь пикселя не один сэмпл, а сразу четыре. Причем они располагались не в одном месте, а в разных.

Но для чего использовать несколько точек вместо одной? Оказалось, это необходимо, чтобы регулировать степень яркости пикселя. Принцип работы следующий:

  • линия пересекает сразу все 4 сэмпла – пиксель загорается на полную;
  • линия пересекает только 3 сэмпла – пиксель загорается на три четверти;
  • линия проходит через 2 сэмпла – пиксель работает наполовину;
  • линия проходит только через 1 сэмпл – пиксель загорается всего на треть;
  • линия не пересекает ни один из сэмплов – пиксель вообще не загорается.

Сглаживание в играх

Простейшая манипуляция с «виртуальными точечками» великолепно решала проблему алиасинга. И пока инженеры праздновали победу, геймдизайнеры испытывали ужас. Да, алгоритм SSAA действительно устранял «лесенки» в компьютерной графике. Но делал он это чудовищно высокой ценой – программа очень сильно нагружала графический процессор. А все потому, что каждый сэмпл воспринимается системой как самостоятельный пиксель. При настройках графики SSAA, к примеру, на «4X», создается изображение в 4 раза больше исходного, а затем сжимается до разрешения монитора. Нетрудно догадаться, что нагрузка на ГПУ также увеличивается в 4 раза.

Читать статью  Как проверить совместимость видеокарты и материнской платы

Сглаживание в играх

И тогда графические инженеры отправились на поиски нового алгоритма. Они быстро заметили, что алиасинг возникает только на границах объектов. А потому зачем сэмплировать всё изображение? Почему бы не рассчитать только те пиксели, которые находятся на границах объектов? Именно так и поступили. Новая технология получила название «MultiSample Anti-Aliasing» или MSAA (у нас ее принято называть мультисэмплингом). В большинстве случаев свежий алгоритм действительно требовал намного меньше мощности. Однако в видеоиграх по-прежнему оставались сцены, где MSAA был настолько же «прожорливым», что и SSAA. Например, в лесах с большим количеством растительности. Также мультисэмплинг значительно уступал суперсэмплингу по эффективности. MSAA боролся только с геометрическим алиасингом, но другие типы «ступенчатости» он не затрагивал. Чтобы изменить это, программисты создали улучшенную версию мультисэмплинга, о которой мы поговорим далее.

CSAA (Coverage Sampling Anti-Aliasing)

CSAA представляет собой улучшенный вариант MSAA. Так как этот тип сглаживания почти не применяется в современных играх, мы не будем подробно о нем говорить, а только в общих чертах. Алгоритм CSAA, как и MSAA, работает на границах объектов. Но помимо обычных сэмплов, он также использует дополнительные. Но за что они отвечают? Эти вспомогательные сэмплы собирают информацию о соседних пикселях для построения более качественного изображения. Причем они почти не нагружают систему – максимальный режим CSAA по производительности равен MSAA 4X. При этом качество итоговой картинки аналогично MSAA 8X. Но, несмотря на эти показатели, игровые разработчики по-прежнему были недовольны высокой требовательностью. А потому графические инженеры приступили к созданию новых типов сглаживания, не использующих сэмплы в своей работе.

TAA (Temporal Anti-Aliasing)

Именно этот алгоритм является стандартом для игровой индустрии. Ранее мы говорили, что все типы сглаживания хорошо справляются с одними видами алиасинга, но плохо с другими. Так вот, TAA-сглаживание – это единственный в мире алгоритм, который эффективно борется со всеми типами алиасинга. Причем делает он это ценой крайне малой производительности. При включении TAA-сглаживания FPS в играх падает всего на 5-10%. Это в десятки раз меньше, чем у SSAA и MSAA. Также темпоральное сглаживание работает на этапе пост-процессинга. Это значит, что игровым разработчикам не нужно внедрять алгоритм в свой движок. Достаточно переместить файлы сглаживания в проект и написать пару строчек кода.

Изображение на мониторах строится при помощи кадров, которые с высокой скоростью сменяют друг друга. Чем больше этих кадров сменяется за одну секунду, тем плавнее будет изображение. Эта характеристика называется «Frames Per Second» или сокращенно «FPS». Работа TAA-сглаживания как раз осуществляется за счет этих кадров:

  • алгоритм запоминает часть пикселей от предыдущего изображения;
  • использует их для реконструкции нового;
  • итоговое расположение пикселей усредняется;
  • создается сглаженная картинка.

Да, это метод работает настолько элементарно, насколько звучит. Никаких манипуляций с точками, сэмплами или выборками. Просто берется часть предыдущего кадра и совмещается с новым. Создали TAA – гениальные разработчики из компании NVIDIA. Спросите, почему гениальные? Да потому, что только им пришла в голову простейшая мысль – использовать отработанные кадры с пользой.

Но неужели у TAA-сглаживания нет недостатков? Есть, но их всего два: «гостинг» и «мыло». Под «гостингом» подразумевается образование шлейфов у быстро движущихся объектов. Возможно, вы замечали, как в современных играх падающая листва оставляет за собой след. Вот именно это и называется гостингом (от слова «Ghost», в переводе – «призрак»). К сожалению, избавиться от этого эффекта полностью невозможно. Но разработчикам удалось значительно снизить его интенсивность. Также помогает увеличение частоты кадров. Например, при 30 FPS гостинг гораздо сильнее, чем при 60. Под «мылом» подразумевается потеря детализации. Картинка становится смазанной и расплывчатой. Полностью избавиться от этого явления невозможно. Однако интенсивность «мыла» можно снизить несколькими способами:

  • Увеличить разрешение. При Full HD «мыла» будет много, при 2K – меньше, а при 4K оно почти исчезнет.
  • Наложение резкости. Этот эффект выделяет границы объектов, что делает их более детализированными. Интенсивность «мыла» также зависит от работы графических программистов. Например, в Battlefield 5 и Days Gone используется одинаковое TAA-сглаживание. Однако в первой игре «мыла» очень много, а вот во второй – гораздо меньше. Почему так? Потому что некоторые разработчики лучше справляются с реализацией некоторых технологией.

FXAA (Fast approXimate Anti-Aliasing)

Это сглаживание пользовалось большой популярностью до изобретения TAA. А все потому, что оно легко встраивалось в игру и требовало мало производительности (FPS падал на 2-3%). Кстати, его также разработала компания NVIDIA. Алгоритм FXAA устраняет алиасинг путем сравнения яркости и контрастности соседних пикселей. Например, очевидно, что стена и небо имеют разную яркость. Алгоритм распознает их границу и сглаживает обнаруженную линию. Несмотря на преимущества и простоту работы, FXAA имеет множество недостатков. Оно не справляется со многими типами алиасинга и сильно «мылит» изображение.

MLAA (MorphoLogical Anti-Aliasing)

Как и FXAA, данный тип сглаживания анализирует цвета между соседними пикселями. Его разработала компания Intel, а все вычисления осуществляются не на видеокарте, а на центральном процессоре. Технология MLAA устраняет «лесенки» в 3 этапа:

  • сначала обнаруживаются резкие цветовые переходы (аналогично FXAA);
  • далее они распознаются с помощью специального алгоритма;
  • и в конце распознанные пиксели смешиваются друг с другом.

Сглаживание MLAA относительно неплохо справляется с «зубчатостью» и делает это ценой небольших мощностей. Однако данный алгоритм имеет два ключевых недостатка: «замыливание» и невозможность работы с мелкими объектами. Чтобы исправить эти проблемы, разработчики решили модифицировать данную технологию. В результате получился новый вид сглаживания, о котором речь пойдет далее.

DLSS (Deep Learning Super Sampling)

Объяснить простыми словами, как работает этот тип сглаживания, сложно. А потому мы дадим только самую общую информацию. Итак, все технологии антиалиасинга требуют вычислительной мощности. Одним алгоритмам нужно много производительности, а другим – мало. Но существует всего один тип сглаживания, который не отнимает FPS, а, наоборот, прибавляет его. Звучит как волшебство, не правда ли? Но на деле это реальность. Речь идет, конечно же, о DLSS, или «сглаживании на основе глубинного обучения» от компании NVIDIA.

В основе данной технологии лежит нейронная сеть. Если опустить сложные технические подробности, то это математическая модель, которая может самостоятельно обучаться. Для работы нейросети требуется перемножать множество матриц данных. Но видеокарты понятия не имеют, как это делать. Поэтому NVIDIA добавила в свои устройства специальные вычислительные блоки под названием «тензорные ядра». За счет именно этих ядер работает DLSS-сглаживание.

Так почему у нас FPS прибавляется, а не отнимается? Дело в том, что при включении DLSS на ваш монитор выводится изображение с меньшим разрешением. Например, если у вас дисплей Full HD, и вы включаете DLSS на «качество», то игра работает не в 1080p, а в 720p. Но как это возможно, если в настройках графики стоит разрешение 1920×1080p? Вот именно в этом и состоит работа нейросети. Она «дорисовывает» изображение до того разрешения, которое у вас выставлено в настройках игры.

DLSS-сглаживание обладает теми же преимуществами и недостатками, что и TAA. А все потому, что временный антиалиасинг лежит в основе этой технологии. Если упростить до максимума, то DLSS – это тот же TAA, но с прибавкой производительности.

Также недавно вышла отдельная версия DLSS – DLAA. Ее отличие состоит в том, что она не снижает разрешение картинки. Нейросеть используется для того, чтобы сделать картинку качественнее. За счет этого FPS не повышается, а качество итогового изображения почти не отличается от стандартного TAA.

Какое сглаживание лучше выбрать

Лучшее сглаживание сегодня – это DLSS. Однако данная технология является эксклюзивом видеокарт NVIDIA GeForce RTX. Если игра не поддерживает DLSS, у вас другая карта или вам просто не нравится, как происходит сглаживание картинки, то включайте TAA. Почти во всех современных проектах оно используется по умолчанию. Но, предположим, вы играете в киберспортивные проекты, и вам нужно избавится от «мыла». Тогда используйте SMAA.

Кстати, не забывайте, что «мыло» можно уменьшить, увеличив разрешение картинки. Во многих играх есть такой параметр – «масштаб разрешения». По умолчанию он выставлен на 100%. Если повысить его, например, до 130%, то игра будет работать в разрешении на 30% больше исходного.

Давайте разберемся на примере. Предположим, у вас монитор с разрешением 1920×1080p, и вы выставляете масштаб разрешения на 130%. Таким образом, изображение будет выводится не в 1920×1080px, а в 2496×1404px. Но имейте в виду, что нагрузка на видеокарту также увеличится на 30%.

Еще частично устранить «мыло» помогает эффект резкости. Его можно добавить в любую игру, если у вас установлена программа GeForce Experience. Она позволяет не только вовремя обновлять драйверы видеокарт NVIDIA, но и накладывать графические эффекты. Зайдите в игру, нажмите сочетание клавиш Alt+F3 и добавьте резкость. Ее интенсивность настраивается с помощью ползунка.

В старых играх современных типов антиалиасинга не будет. Чаще всего придется довольствоваться мультисэмплингом. Выставляйте его на значение 2X или 4X. А если мощность вашей видеокарты позволяет, то можете попробовать установить MSAA на 8X

Компьютеры HYPERPC и современные типы сглаживания

В системы HYPERPC устанавливаются графические ускорители от компании NVIDIA серии RTX. Это значит, что вам будет доступно любое сглаживание, в том числе и DLSS. Оно в разы повышает частоту кадров и позволяет играть с новейшими графическими технологиями. Даже трассировка лучей не станет для вас особой проблемой. С компьютерами HYPERPC вам открывается полноценный доступ в мир гейминга на максимальных настройках графики.

Источник https://www.ixbt.com/live/platform/cglazhivaniya-ili-kak-poteryat-v-proizvoditelnosti-ne-vsegda-poluchaya-luchshee-kachestvo.html

Источник https://hyperpc.ru/blog/gaming-pc/smoothing-in-games