Как работает сглаживание в компьютерных играх

Все любители поиграть в компьютерные игры однажды видели параметр "сглаживание" и каждый из них когда-то выставлял этот параметр не раздумывая, после удивляясь прерывистому геймплею. Пройдя через это, они уже знают две вещи: сглаживание убирает зубчатость и жрет много FPS, но не все понимают, как работает вышеназванное. Сейчас же я вам поведаю о том, что делает каждый вид сглаживания, а дальше вы уже сами будете понимать какой вам подходит.

Что такое сглаживание? Технология, устраняющая эффект зубчатости, возникающий на плоских или объемных изображениях.

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

На ней мы видим, что правая сторона - ровная линия, но если ее увеличить, то мы будем видеть пиксели.
На ней мы видим, что правая сторона - ровная линия, но если ее увеличить, то мы будем видеть пиксели.

Чем это грозит итоговой графике в игре? Далекие объекты будут выглядеть нечетко, а при движении камерой неровные линии будут постоянно перестраиваться. Итог - нереалистичная картинка.

Типы сглаживания:

1. TXAA(temporal anti-aliasing) - новая технология сглаживания от Nvidia. Является смесью MSAA и SMAA, но очень мылит картинку и является требовательным к ресурсам ПК. Работает не только с неподвижной картинкой, как другие типы сглаживания, но и с движущимися объектами. Дает очень качественную картинку.

2. MSAA(Multisample anti-aliasing) - улучшенная версия SSAA, потребляющая гораздо меньше ресурсов. Текстура, представляющая собой линию под углом, сглаживается в одном участке, а после этот эффект продолжается на весь край текстуры. Другими словами, MSAA сглаживает только края, игнорируя то, что находится внутри текстуры. Результат: меньшая нагрузка на видеокарту. По тяжести 8x MSAA оказывается даже легче сглаживания 4x SSAA при приблизительно равном качестве картинки.

3. SSAA(Supersample anti-aliasing) - самое тяжелое сглаживание. При четырехкратном сглаживании разрешение картинки в вчетверо выше, чем выводит экран. Получается, что плотность пикселей в два раза больше, отчего лесенки перестают быть заметными. К примеру, при разрешении 1080p карта вынуждена готовить картинку в 4к, что очень сказывается на производительность.

4. FXAA(Fast approXimate anti-aliasing) - нетребовательное сглаживание, которое мылит картинку. Совершается один проход по всем пикселям, после усредняя цвета. Слабо нагружает видеокарту.

5. MLAA(MorphoLogical anti-aliasing) - аналог FXAA на intel. Сглаживание работает полностью на процессоре. Изображение разбивается на Z, L и U образные части, и сглаживание происходит смешением цветов пикселей, входящих в каждую такую часть

Не видел игр, где есть такое сглаживание, но упомянуть все же стоит.
Не видел игр, где есть такое сглаживание, но упомянуть все же стоит.

6. SMAA(Subpixel Morphological anti-aliasing) - смесь FXAA и MLAA. Несколько улучшенный MLAA, но работающий на видеокарте. Дает картинку куда более хорошую, чем FXAA и сравнимую с MLAA.

7. TAA - технология темпорального сглаживание. Берет в расчет несколько отрисованных кадров, учитывая расположение кадров в динамике. TAA работает как отрисовка картинки в большем размере, с последующим уменьшением до размера вашего монитора.

Какое сглаживание выбрать вам? Если видеоадаптер тянет игру с малым фреймрейтом или нестабильным фреймтаймом, то выбирайте FXAA/TAA/SMAA, если уже лучше и видеокарта потянула 8x MSAA, то выбирайте SSAA и TXAA.