Ssa что это такое в играх
Сглаживание FXAA и SSAA: что это в играх и за что оно отвечает?
Что это такое — FXAA и SSAA в играх
Как вы уже смогли догадаться, FXAA и SSAA — это сглаживание в компьютерных играх. Подробнее мы с этими терминами разберемся чуть ниже. А пока на минутку остановимся на простой теории. Все мы знаем, что изображение на экране компьютера состоит из пикселей. Пиксель — это очень маленький квадратик. Если углубиться в школьные знания по геометрии, то мы вспомним, что из квадратиков легко построить прямоугольные фигуры, располагая их как вертикально, так и горизонтально. Но если попытаться построить из квадратиков круг или наклонную линию, то мы увидим, что поверхность таких фигур будет в виде «ступенек». То же самое происходит и с пикселями на изображении.
Проблема «ступенчатых» изображений на экранах решается 2-мя проверенными подходами:
Сглаживание. Это более «старый» и проверенный подход, который появился еще в 70-х годах. В то время создать экран с разрешением 4К не представлялось возможным, поэтому проблему решали как могли. Суть сглаживания сводится к тому, что на соседних от «ступенчатых» пикселях добавляют цвета и градиенты, что визуально смягчает «ступенчатые» объекты.
Как работает сглаживание SSAA и FXAA
У него достаточно простой принцип работы:
Потом это изображение «сжимается» до размера вашего экрана.
Это одна из самых первых технологий для сглаживания, но ее все реже используют в современных играх, так как она ну очень сильно «любит» FPS и видеокарты. А пользователям компьютеров эта «любовь» не по вкусу. Поэтому ей на замену подготовили менее прожорливую технологию — MSAA.
У этого подхода есть один недостаток — очень сильно замыливаются мелкие и отдаленные объекты, вплоть до того, что становится невозможным различить их на общей сцене.
Заключение
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Типы сглаживания в играх
Начнем с определения:
Сгла́живание (англ. anti-aliasing) — технология, используемая для устранения эффекта «зубчатости», возникающего на краях одновременно выводимого на экран множества отдельных друг от друга плоских или объёмных изображений.
Почему возникает «зубчатость»? Проблема в том, что мониторы современных ПК состоят из квадратных пикселей, а значит на них действительно прямыми будут только горизонтальные и вертикальные линии. Все линии, находящиеся под углом, будут строиться из пикселей, находящихся по диагонали друг к другу, что и вызывает «зубчатость». К примеру, справа на картинке — вроде бы ровная линия. Однако стоит ее увеличить, как сразу становится видно, что никакая она не прямая:
Чем это грозит в играх? Тем, что, во-первых, при движении будет возникать эффект «мельтешения» — такие неровные линии будут постоянно перестраиваться, что будет и отвлекать от игры, и делать картинку неестественной. Во-вторых — далекие объекты будут выглядеть нечетко.
Сразу же возникает вопрос — а как убрать эти неприятные эффекты? Самый простой способ — сделать пиксели меньше при том же размере экрана (иными словами — сделать разрешение больше и поднять плотность пикселей). Тогда «зубчатость» будет проявляться слабее, и картинка будет выглядеть естественнее. Но увы — способ хоть и простой, но дорогой, да и для видеокарты это достаточно сильная дополнительная нагрузка. И тогда, дабы улучшить картинку не меняя монитора, было придумано сглаживание.
SSAA (Supersample anti-aliasing) — самое тяжелое сглаживание, потому что оно, по сути, описывает способ убирания лесенок, который я привел выше: при четырехкратном (4х) сглаживании видеокарта готовит картинку в разрешении вчетверо выше, чем выводит на экран, потом происходит усреднение цвета соседних пикселей и вывод на экран в исходном разрешении. Получается, что виртуальная плотность пикселей вдвое выше, чем у экрана, и лесенки практически перестают быть заметными. Очень сильно сказывается на производительности: к примеру, если разрешение в игре 1920х1080, то видеокарта вынуждена готовить картинку в 4К — 3840х2160. Однако результат получается великолепным — картинка выглядит как живая, никакого мельтешения нет:
MSAA (Multisample anti-aliasing) — улучшенная версия SSAA, которая потребляет гораздо меньше ресурсов. К примеру — зачем сглаживать то, что находится внутри текстуры, если лесенки есть только на краях? Если текстура представляет собой прямую линию под углом к игроку, то можно сгладить лишь один участок и продолжить эффект на весь край текстуры. В результате нагрузка на видеокарту становится ощутимо меньше, и по тяжести даже 8х MSAA оказывается ощутимо легче 4х SSAA при сравнимом качестве картинки.
CSAA и CFAA (Coverage Sampling anti-aliasing и Custom-filter anti-aliasing) — по сути несколько улучшенный MSAA от Nvidia и AMD (позволяют выбирать дополнительные отсчёты «перекрытия» пикселя, по которым можно уточнять итоговое значение цвета попадающего на край треугольника экранного пикселя). 8x CSAA/CFAA дает сравнимое с 8x MSAA качество картинки, однако потребляет примерно столько же ресурсов, столько и 4х MSAA. На сегодняшний момент оба сглаживания не используются — разработчики игр решили использовать унифицированные для всех видеокарт сглаживания.
FXAA (Fast approXimate anti-aliasing) — нетребовательное быстрое сглаживание. Алгоритм прост — совершается один проход по всем пикселям изображения и усредняются цвета соседних пикселей. Это слабо нагружает видеокарту, однако сильно мылит картинку (обратите внимание на четкость текстуры камня), делая далекие объекты вообще неузнаваемыми:
Такое сглаживание имеет смысл включать только если лесенки терпеть не можете, а видеокарта не тянет лучшее сглаживание. По сути тут идет выбор между замыливанием изображения и лесенками.
Из особенностей — это единственное сглаживание, работающее полностью на процессоре, поэтому практически не влияет на fps в играх при мощном процессоре. Из-за более сложного алгоритма изображение получается более качественным, чем с FXAA, однако до 2x MSAA все еще далеко.
SMAA (Subpixel Morphological anti-aliasing) — смесь FXAA и MLAA. По сути несколько улучшенный MLAA, но работающий на видеокарте (так как процессор для сглаживания подходит гораздо хуже). Дает картинку, сравнимую с MLAA, лучше, чем FXAA (обратите внимание на бочки), однако потребляет больше ресурсов:
Такое сглаживание является хорошей заменой FXAA, и по уровню нагрузки на видеокарту находится между отсутствием сглаживания и 2x MSAA, так что есть надежда, что в будущем игр с ним будет все больше.
TXAA(Temporal antialiasing) — новая технология сглаживания от Nvidia. В отличии от других типов сглаживания, которые работают только с одним кадром (то есть с неподвижной картинкой), это умеет работать с движущимися объектами и хорошо убирает «мельтешение» картинки. По сути является смесью MSAA и SMAA, дает очень качественную картинку, однако немного ее мылит и очень требовательно к ресурсам.
В итоге — какое сглаживание выбрать? Если видеокарта совсем плохо тянет игру, то или оставаться без сглаживания и смотреть на лесенки, или же выбрать FXAA и любоваться на мыло. Если же система по-мощнее, но MSAA все еще не тянет — стоит выбрать MLAA или SMAA. Если видеокарта играючи справилась с 8х MSAA — стоит смотреть на SSAA или TXAA.
Да кто такой этот ваш MSAA и SSAA?!
Вы часто видели эти MSAA и SSAA в настройках — и выбирали опцию наугад. Знали примерно, что эти загадочные буквы связаны со сглаживанием картинки, и этого вам всегда хватало. Но червячок сомнений всё-таки точил ваш разум. Иначе бы вы, как и мы сейчас, не задались вопросом: «Кто же такие эти самые MSAA и SSAA на самом деле?». Ну что ж, давайте разберёмся со всем этим по порядку и без заумных словечек.
Что такое сглаживание?
Минутка очевидных вещей. Изображение на вашем мониторе состоит из пикселей — очень маленьких квадратиков. По законам геометрии, из них получаются отличные вертикальные и горизонтальные линии и идеальные прямоугольники. А вот если нарисовать в Paint наклонную линию или круг, то тут же на белый свет явятся пиксельные «лесенки».
Далеко не каждую 2D фигуру можно создать только при помощи квадратов и линий под прямым углом, а о трёхмерных объектах нечего и говорить. Так что проблема сглаживания существует в играх как сейчас, так и тридцать лет назад — вам не хуже меня видно, где стоило бы сгладить Лару Крофт.
Вот эти вот неровности ещё называют «алиасингом». На скриншоте это выглядит более-менее терпимо, но в игре, помимо эстетических неудобств, они создают ещё и лишнее мельтешение на экране — ломаные линии будут всё время перестраиваться и отвлекать, а задний план и вовсе превратится в разноцветную мешанину пикселей. Решить проблему «лесенок» можно двумя способами.
Первый — это увеличить разрешение. Тогда на один экранный дюйм будет приходиться больше пикселей, и вероятность увидеть резкие переходы снизится: не зря сейчас индустрия потихоньку переходит на 4к. За ним последует 8к, потом 16к, и в конце концов вы скорее разглядите пиксели на оконном стекле, чем на экране. К сожалению, подобная роскошь кусается как в плане цены, так и в плане производства, а сорок лет назад не было даже возможности создать экран с таким разрешением. Поэтому пришлось придумать второй способ.
И это — сглаживание, которое не позволяет рваным линиям и неровностям портить вам всю малину. Технологию создали в 1972 году в Массачусетском технологическом институте, а затем эту идею подхватили и переработали все кому не лень, так что теперь мы имеем кучу разных видов смягчения границ предметов. Однако, суть у всех общая: линию на изображении сглаживают с помощью градиента на крайних пикселях.
Для сглаживания изображения к контурам предмета добавляются оттенки соседнего цвета — ближайшие к фону пиксели принимают среднее цветовое значение между моделькой и окружением, размывая границу и создавая градиент. В результате картинка выходит более плавной и приятной для глаз, хоть и становится немного мыльной.
Для некоторых графических элементов используются специальные алгоритмы сглаживания. Так, для смягчения контуров букв придумали ClearType, а для самых простых линий — Алгоритм Ву. Некоторые алгоритмы работают только с уже существующим изображением, а другие применяются прямо во время построения сцены. Одни из них жрут мощности вашей видеокарты, а другие сосредоточенно жуют ваш процессор и не влияют на FPS.
В общем, способы и принципы работы у всех разные, а значит, и фичи с багами тоже у них свои. Так что давайте разберём несколько самых популярных видов сглаживания подробнее.
Типы сглаживания и их принудительное включение в играх
Содержание
Содержание
Любой хотя бы раз видел в игре настройку «Сглаживание», оно же Antialiasing. Это функция, позволяющая устранить эффект лесенки на краях объектов и сделать изображение менее пилообразным. Производители видеокарт создали немало различных методик, общее количество которых исчисляется десятками. Многие из них устарели и забыты, а некоторые используются до сих пор.
В этой статье мы рассмотрим все актуальные типы сглаживания в играх, проведем сравнение, а также научимся их использовать.
Типы сглаживания
В качестве образца будет использоваться игра Track Mania вкупе с Full HD разрешением монитора. Видеокарта GTX 1070. Первый скриншот «чистый», без сглаживания. Просматривать рекомендуется в полном размере.
FXAA (Fast approXimate Anti-Aliasing)
Метод сглаживания, который затрагивает всю картинку изображения на этапе пост-обработки, то есть перед самым ее выводом на экран. Имеет 9 степеней качества. Неплохо сглаживает геометрию. Не устраняет прерывистую лесенку пикселей, что хорошо видно на проводах в воздухе. Не добавляет детализации и мылит текстуры.
Имеет практически идентичный, но малоизвестный аналог MLAA, который работает за счет процессора, а не видеокарты. Сглаживание MLAA доступно в крайне ограниченном количестве игр, поэтому рассматриваться не будет.
SMAA (Subpixel Morphological Anti-Aliasing)
Продвинутое пост-сглаживание, основанное на FXAA и MLAA. Дает ощутимо лучший результат, но потребляет чуть больше ресурсов видеокарты. Имеет четыре степени качества.
Детализации также не добавляет, однако дает меньше паразитных искажений, лучше сглаживает геометрию и меньше мылит изображение.
MSAA (Multi-Sample Anti-Aliasing)
Метод основан на выборочном масштабировании объектов в более высоком разрешении. Текстуры при этом не затрагиваются. Добавляет детализацию на контурах, уменьшает рябь картинки в движении. На современных видеокартах практически не затрагивает производительность. Распространенный и предпочтительный тип сглаживания.
Когда в играх вы выбираете степень сглаживания x2, х4 или x8 подразумевается именно MSAA.
SSAA (Super-Sample Anti-Aliasing)
Самое лучшее, самое правильное и самое требовательное к производительности сглаживание. В отличие от MSAA происходит масштабирование всех возможных объектов, а также шейдеров и текстур.
При выборе настройки SSAA x 4 объект увеличивается в четыре раза с каждой стороны (вертикаль и горизонталь), что дает внутреннее разрешение 7680×4320 от изначального 1920×1080.
Очень хорошо сглаживает лесенку пикселей, улучшает внешний вид текстур. Объекты вдали приобретают реальную четкость. Рябь в играх полностью исчезает, что делает картинку реалистичной и более приятной для глаз. В некоторых играх регулируется процентным соотношением в виде ползунка (может называться «масштабирование разрешения»).
Такое сглаживание лучше использовать в старых играх, так как в современных будут просадки частоты кадров даже на самых мощных видеокартах.
К сожалению, далеко не все игры работают с SSAA сглаживанием, даже если попытаться включить его принудительно.
Иногда в настройках попадается SSAA x 0.5. При его использовании игровое разрешение уменьшается вчетверо (до 960×540), что ухудшает качество картинки, но дает прирост производительности.
DSR (Dynamic Super Resolution)
Технология от NVIDIA, позволяющая использовать разрешения, превышающие возможности вашего монитора. Максимальное значение x 4, что соответствует формату 2160p. По качеству немного превосходит SSAA x2.
И если SSAA работает с внутренним разрешением игры, то DSR запускает игру в настоящем 4К, которое затем даунскелится до родного разрешения монитора. Это дает возможность снимать видео и делать скриншоты в 3840×2160 на мониторе с меньшим разрешением.
Из минусов интерфейс в играх может стать очень мелким и нечитаемым, если игра не оптимизирована под масштабирование игровых элементов. Второй минус это смена чувствительности мыши, курсор будет двигаться медленнее, так как ему нужно пройти больше пикселей.
В отличие от прочих типов сглаживания, DSR можно активировать в любой игре, в которой есть возможность выбора поддерживаемых разрешений.
У AMD есть свой аналог, названный VSR (Virtual Super Resolution).
Единственное полезное значение это x4, дающее реально качественное сглаживание. На других значениях картинка мало того, что не сглаживается, так еще и становится более зубчатой.
Комбинации и ответвления
Производители частенько любят хитрить со сглаживанием, комбинируя методы. В качестве примера TXAA: на самом деле это всего лишь одновременная работа MSAA и FXAA низкого качества. Адаптивным сглаживанием называют SSAA + MSAA. Многокадровое сглаживание MFAA это просто надстройка для MSAA, призванная улучшить качество (через панель управление не заработала ни в одной игре).
Еще один известный тип сглаживания это CSAA, по сути тот же MSAA, но потребляющий чуть меньше ресурсов. Считается устаревшим и из новых видеокарт удален. Попытка принудительной активации приводит к вылету драйвера.
Грубо говоря, практически все сторонние типы сглаживания являются либо модификацией MSAA, либо комбинацией с использованием различных пост-эффектов.
Кстати, DSR и SSAA можно использовать одновременно. Track Mania в этом случае запускается в разрешении 16К (15360×8640), при 26 кадрах в секунду.
В итоге игра 2006 года почти «поставила на колени» GTX 1070. Ну а про игры типа Metro Redux и говорить нечего, всего 1-3 фпс.
Использование
FXAA
Для активации нам понадобится программа FXAA Tool.
В главном окне программы убираем галочку Pre Sharpen. Далее нажимаем кнопку «Add», программа попросит нас ввести имя профиля (можете написать любое), а затем необходимо указать путь к папке с игрой.
Переходим во вкладку «AntiAliasing». Двигая ползунок влево и вправо, мы изменяем баланс между производительностью и качеством. После того, как необходимый уровень выбран, нажимаем кнопку «Save». Теперь при каждом запуске игры сглаживание будет включаться автоматически. Чтобы его убрать достаточно в главном меню нажать кнопку «Remove».
SMAA
Для его использования необходимо скачать программу SweetFX.
Первым делом нажимаем кнопку Add new game и указываем путь на файл запуска игры (.exe).
В списке игр появится строчка с именем файла, щелкаем по ней один раз.
Нажимаем кнопку Add SweetFX.
Заходим в настройки SweetFX Injector settingsи выбираем желаемый уровень качества.
Лучше всего поставить SMAA_PRESET_HIGH. Нажимаем Save settings, а затем в главном окне Save new config.
Как и в случае с FXAA Tool при каждом запуске игры сглаживание будет включаться автоматически. Чтобы его убрать необходимо в главном меню нажать кнопку “Remove SweetFX”.
MSAA \ SSAA \ VSR (Radeon)
Новая панель управления от AMD максимально упрощена. Чтобы активировать VSR, нужно лишь нажать соответствующую кнопку в разделе «Дисплей». После этого в играх появятся новые доступные разрешения.
Активация MSAA и SSAA также не доставит никаких проблем. Переходим во вкладку «Игры» и изменяем несколько настроек.
Избыточная выборка — это SSAA, а множественная выборка — это MSAA.
MSAA \ SSAA \ DSR (GeForce)
Для включения DSR необходимо перейти в раздел «Управление параметрами 3D» и выбрать строчку «DSR-Степень».
Появится небольшое окно, в котором вы сможете выбрать, во сколько раз большие от оригинального разрешения вам нужны. К примеру, x1.78 соответствует разрешению 2560×1440, а x4 соответствует 3840×2160. После этого выбранные разрешения станут доступны в параметрах рабочего стола, а также в самих играх.
Также необходимо выставить параметр «DSR-плавность» на значение 0 %. В противном случае изображение будет слегка размыто.
Для включения MSAA, в этом же разделе (Управление параметрами 3D) нужно изменить два параметра.
Затем нажимаем кнопку «Применить».
Для настроек 3D имеется две вкладки: глобальные параметры и программные настройки. Если вы меняет параметры в первой вкладке, то они применяются ко всем приложениям, а если вы меняете значения во второй вкладке, то настройки применяются только к выбранной вами игре.
Для SSAA сглаживания настройки в панели управления не предусмотрено (исключение — старые видеокарты).
Включить его получиться только с помощью сторонней утилиты NVIDIA Profile Inspector.
Для сброса настроек вы можете нажать на значок NVIDIA.
Сравнение
Для сравнения качества было решено выделить фрагмент картинки, затрагивающие провода, текстовую надпись Track Mania и дорожные перила.
Вторым фрагментом выступит автомобиль, для оценки сглаживания изгибов и текстур.
А теперь сравним влияние сглаживания на FPS в игре.
Исходные материалы
Все использованные в статье игровые скриншоты, а также несколько дополнительных вы можете скачать в архиве по ссылке.
Track Mania Nations — игра, использованная для демонстрации типов сглаживания доступна для бесплатного скачивания на странице в Steam.
Вывод
Мы изучили эффективность сглаживания на примерах, а также научились принудительно его использовать c помощью различных программ и панели управления видеокартой.
Теперь вы в любой момент сможете улучшить качество изображения, даже если в самой игре настройки сглаживания не предусмотрено.