Что такое mlaa сглаживание
Типы сглаживания в играх
Начнем с определения:
Сгла́живание (англ. 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.
В общем, способы и принципы работы у всех разные, а значит, и фичи с багами тоже у них свои. Так что давайте разберём несколько самых популярных видов сглаживания подробнее.
Виды сглаживания и их особенности
Необходимо ещё затронуть несколько терминов, среди которых выборка, репрезентативность выборки и генеральная совокупность, а также шейдеры.
«Генеральная совокупность — это совокупность всех объектов или наблюдений, относительно которых исследователь намерен делать выводы при решении конкретной задачи».
Репрезентативность выборки, если говорить более простым языком — это её представительность, т. е. способность выборки представить явления или объекты достаточно полно с точки зрения их изменчивости в генеральной совокупности.
«Шейдер — это программа для графического процессора, которая используется в трёхмерной графике для определения окончательных параметров объекта или изображения. Кроме этого она может включать в себя описание поглощения и рассеяния света, наложения текстуры, отражения и преломление, затенение, смещение поверхности и множество других параметров».
Оглавление
Пример сглаживания
Виды сглаживания
На сегодняшний день существует большое количество методов сглаживания, но все они основываются на одном принципе. Они отрисовывают несколько пикселей для одного исходного пикселя в финальном изображении.
Фактически методы различаются только двумя пунктами:
Кроме этого данные алгоритмы используют разное количество пикселей для получения финального пикселя. В видеоиграх данное количество представлено достаточно просто с помощью использования числа 2 в какой-либо степени, т. е. 2x, 4x, 8x и т.д..
Существует несколько терминов, которые ассоциируются со сглаживанием, большинство из них исходит от стандартной формулы сглаживания.
Традиционные методы
Результат более чёткий и чистый, чем методы постобработки.
Форсирование данных методов не гарантирует, что они будут работать в играх с отложенной отрисовкой. Данное ограничение можно обойти с помощью пониженной дискретизации, но данный способ будет сильно влиять на производительность.
Данные методы в большинстве случаев довольно затратны по используемым ресурсам. Методы постобработки могут использоваться, как альтернатива для снижения влияние сглаживания на производительность.
Традиционные методы не конфликтуют с большинством типов временного сглаживания.
Данный метод также известен как Полноэкранное сглаживание Full Scene Anti-Aliasing (FSAA) от AMD и зачастую заменяется термином снижение масштабирования.
Технически при корректном использовании снижения масштабирования разница с SSAA/MSAA будет заключаться в том, что снижение масштабирования применяется как к 2D, так и 3D объектам, в то время как SSAA/MSAA только к 3D объектам. В некоторых реализациях это может привести к меньшему снижению производительности и лучшей совместимости.
Искажения изображения появляются потому, что в отличии от реальных объектов, которые имеют непрерывные плавные кривые и линии, монитор отображает человеку большое количество маленьких квадратов. Все эти пиксели имеют одинаковый размер и у каждого свой цвет. Линия отображается только как набор пикселей и поэтому выглядит неровной, если она не располагается идеально горизонтально или вертикально. Образцы цвета берутся с нескольких выборок внутри пикселя (а не только в его центре) и вычисляется среднее значение цвета. С помощью отрисовки в более высоком разрешении, чем отображаемое, а затем сжатием до необходимого размера с использованием дополнительных пикселей для расчёта получает субдискретизированное изображение с более плавными переходам от одной строки пикселей к другой по краям объектов.
Данные методы используют общую формулу сглаживания к полноэкранным изображениям, уменьшая «эффект лестницы». По сравнению с отрисованным изображением, которое прошло через MSAA, изображение SSAA/FSAA будет выглядеть более гладким. На 2D текст также могут повлиять большинство из реализации снижения масштабирования, в то время как SSAA/MSAA не должны влиять на текст при их правильной реализации.
В настоящее время данный метод был заменён менее ресурсоёмкими методами из-за огромной нагрузки на графический процессор, но по причине получения наилучшего результата некоторые игры всё ещё используют его в качестве одного из вариантов сглаживания в настройках.
Ниже визуализирован принцип работы данного метода.
Для уменьшения нагрузки, которая создаётся SSAA/FSAA на системы, множественная выборка оптимизирует процесс, оценивая каждый пиксель только один раз, при этом настоящая избыточная выборка происходит только на краях отрисованного объекта и до значений глубины. Это приводит к аналогичному (но менее радикальному) улучшению качества изображения при одновременном снижении нагрузки на систему при отрисовке и снижению масштабирования в высоких разрешениях изображения.
В первую очередь данный метод убирает искажения геометрии, т. е. временное искажение и искажение шейдерных эффектов, текстур и прозрачностей не будут затронуты.
У данного метода также присутствуют как плюсы, так и минусы. Он решает проблемы с субпикселями, а также не искажает основной объект большим количеством выборок. Однако потребление памяти увеличивается линейно с ростом количества выборок, время отрисовки зависит от количества выборок, а также существуют проблемы комплексной интеграции при работе с отложенной отрисовкой.
Данный метод используется на видеокартах серии Nvidia GeForce GTX 900 или выше (в свою очередь метод является преемником выборки сглаживания с перекрытием CSAA).
Однако стоит отметить важный момент: MFAA не работает должным образом при отрисовке ниже 40 FPS (кадров в секунду). При достижении данного порога изображение размазывается и появляется размытие в движении.
Также возможно отключение некоторого списка команд драйвера D3D11, тем самым убивается многопоточная отрисовка. В следствии этого падает производительность, особенно когда центральный процессор работает на пределе своих возможностей.
Метод используется для видеокарт серии AMD Radeon HD 6900 и выше.
AMD утверждает, что предлагает улучшенное качество сглаживания по сравнению со стандартными режимами MSAA, добавляя большее количество выборок для перекрытия на единицу пикселя, но сохраняя такое же количество выборок цвета/глубины/образцов для достижения лучшего качества сглаживания, чем стандартные режимы MSAA.
Тестовая выборка проверяет, есть ли полигон в определённой точке выборки и возможно ли использовать их вес для вычисления окончательного цвета пикселя. Поскольку такие выборки достаточно просто получать, то мы имеем конечный результат в виде повышенного качества, которое в меньшей степени воздействует на производительность по сравнению с выборками MSAA. К сожалению, значения данных выборок зависит от определённого пикселя, поэтому мы можем получить как улучшение качества, так и отсутствие каких-либо видимых изменений.
Для метода необходимы видеокарты серии Nvidia GeForce 8000 и выше. Да, именно тех самых старых видеокарт.
В графических процессорах, которые базируются на архитектуре Maxwell, в таких как GTX 750 Ti и серия GTX 800M/900, поддержка данного сглаживания удалена.
Метод нацелен на снижение дополнительной нагрузки, которую создаёт MSAA на систему, при этом Nvidia утверждает, что отрисовка с помощью CSAA конкурирует по качеству с 8x-16x MSAA, при этом нагрузка на систему сравнима с 4x MSAA. Данное качество достигается за счёт уменьшения количества настроек, определяемых каждой выборкой (с помощью создания новой выборки для перекрытия) при одновременном увеличении общего количества выборок.
Данный метод аналогичен EQAA от AMD, поэтому если вы хотите узнать принцип работы сглаживания, то изучите метод EQAA.
Данный метод — это эксклюзив от Nvidia.
Метод — эксклюзив от Nvidia.
Современная версия SSAA, обладающая превосходным качеством по сравнению с другими методами сглаживания при сохранении высокой производительности.
Если вспомнить немного истории, то Nvidia внедрила поддержку TRSSAA в одном из своих альфа тестов. Однако в одном из драйверов присутствовала ошибка и метод SGSSAA применялся ко всем пикселям. Они исправили ошибку в следующем релизе, но многие пользователи начали жаловаться, что с SGSSAA изображение было лучше. Это заставило Nvidia заново включить данную ошибку в свой драйвер. На текущий момент данный вид сглаживания не поддерживается и Nvidia предупреждает, что данный метод вы используете на свой страх и риск, но другой разработчик включил данную ошибку в другой инструмент nvidia inspector, если данной настройки у вас нет.
Данный метод использует комбинацию SSAA и MSAA.
Пользователи Nvidia могут использовать Nvidia Profile Inspector для принудительной установки необходимой версии, которая использует SSAA с упорядоченной сеткой вместе с обычным MSAA в некоторых играх (режимы с расширением xS).
Иногда работает в тех случаях, когда SGSSAA не работает или работает с слишком высоким размытием из-за ошибки в драйвере.
Методы постобработки
Данные методы используют меньше ресурсов по сравнению с традиционными методами.
Данные методы используются после отрисовки изображения, в отличии от традиционных методов. Это означает, что они совместимы практически с каждой игрой, видео или даже фотографиями.
При использовании данных методов изображения (в частности текстуры) иногда могут становиться размытыми, так что общее качество может стать даже хуже оригинала, если метод реализован некачественно. Размытие в некоторой степени можно уменьшить с применение технологий повышения резкости.
Данные методы должны применяться перед отрисовкой элементов интерфейса в игре для исключения воздействия на них.
Метод не требует больших вычислительных мощностей. Это достигается за счёт сглаживания неровных краёв («неровностей») исходя из того, как они изображаются на экране в виде пикселей, вместо того, чтобы анализировать сами 3D — модели, как при обычном сглаживании. Кроме этого метод достаточно быстрый, он выполняется за 1,3 миллисекунды на 1 кадр.
Однако улучшение качества изображение, которое достигается данным методом по качеству несколько хуже, чем традиционные методы сглаживания, такие как MSAA. Данный метод может быть применён дважды с использованием двух отдельным инструментов (например, внутриигровые настройки и панелью управления видеодрайвера и т. д.) или же поверх SMAA или TAA для дальнейшего удаления неровностей, но с большой долей вероятности данный метод ухудшит размытие наравне с увеличением производительности.
Немного подробнее рассмотрим данный метод. Для этого воспользуемся изображением:
FXAA принимает на вход нелинейные цветовые данные RGB, которые он преобразует в скалярную оценку яркости для шейдерной логики. FXAA проверяет локальный контраст, чтобы не обрабатывать края изображения. Обнаруженные края отмечены красным, со смешиванием в сторону жёлтого для представления обнаруженного наложения субпикселей. Пиксели, прошедшие тест на локальный контраст, затем классифицируются как горизонтальные (золотые) или вертикальные (синие). При заданной ориентации края самая контрастная пара пикселей, которая расположена под углом 90 градусов к выбранному краю (синее и зелёное). Алгоритм ищет конец ребра как в отрицательном, так и в положительном аспекте (красное и синее), в направлении длинного края. После этого происходит проверка на существенное изменение средней яркости пары высококонтрастных пикселей по краю изображения. Учитывая концы краёв, положение пикселя на краях преобразуются в субпиксельный сдвиг на 90 градусов перпендикулярно краю для уменьшения искажения (красный и синий для отрицательного и положительного горизонтального сдвига и золотой и небесный для отрицательного и положительного вертикального сдвига). Для входной текстуры делается повторная выборка с учётом данного субпиксельного смещения. В конечном итоге добавляется низкочастотный фильтр в зависимости от количества обнаруженных субпиксельных искажений.
Слева направо: без сглаживания, 4x MSAA и FXAA preset 3.
В ответ на данный метод от Nvidia существует MLAA метод от AMD.
Доступно на картах AMD на Windows и может быть принудительно запущено для всех игр через панель управления драйвером видеокарты независимо от используемого графического API, а также для игр OpenGL под Linux с драйверами Mesa.
Данный метод больше воздействует на производительность, чем FXAA, хотя и позволяет получить более чёткое изображение.
MLAA предназначен для уменьшения артефактов искажения в отображаемом изображении без использования дополнительных лучей или спектров. Он содержит 3 основных этапа:
1. Находим разрывы между пикселями на изображении.
2. Определяем переопределённые выборки.
3. Смешиваем цвета по соседству с данными шаблонами.
Слева вы можете видеть изображение без сглаживания, а справа с применением MLAA.
Данный метод может быть добавлен в большинство игр через ReShade (даже в игры с определение глубины границ)
В своей основе используется метод MLAA. Качество изображения меняется от игры к игре в связи с разной реализацией, но в большинстве случаев данный метод бывает лучше чем FXAA или MLAA.
Метод использует функции локального контраста для определения краёв, а также ускоренный и более точный поиск по расстоянию между пикселями, что позволяет лучше распознавать шаблоны для сглаживания. Это позволяет восстанавливать субпиксели, сопоставимо с сглаживанием 4x MSAA, кроме этого данное сглаживание гибко настраивается под конкретные нужды разработчиков.
В настоящее время используется только в Unigine 2.13.
Слева изображено сглаживание 16x SSAA, справа 4x SRAA.
Метод CMAA находится между FXAA и SMAA 1x по необходимой вычислительной мощности (требует в 1.0-1.2 больше чем FXAA 3.8 и в 0.55-0.75 раза больше чем SMAA 1x).
По сравнению с FXAA, CMAA обеспечивает значительно лучшее качество изображения и стабильность времени кадра, поскольку метод правильно обрабатывает линии краёв длиной до 64 пикселей и основан на алгоритме, который работает только с симметричными неоднородностями, чтобы избегать нежелательного размытия.
У CMAA четыре основных логических шага (шаги не всегда связаны с порядком при реализации):
Анализ изображения на предмет неоднородности цвета (впоследствии сохраняется в локальном сжатом «рёберном» буфере). Используемый метод не является уникальным для CMAA.
Извлечение доминирующих рёбер с небольшим ядром (уникальная особенность среди существующих методов).
Обработка симметричных длинных ребер (уникальный подход к оригинальному алгоритму обработки форм в MLAA).
Ниже вы можете увидеть примеры работы данного метода в сравнении с другими.
Метод используется в Star Wars: The Force Unleashed II, но вы можете его найти в некоторых других играх, особенно на движке Unity.
Согласно информации от автора, данный метод сопоставим с MLAA, но с лучшей стабильностью по времени кадра.
Метод, представленный Nvidia.
В данном методе происходит отрисовка игры в высоком разрешении (до формата 4K), после этого изображение масштабируется до разрешения дисплея. Это позволяет повысить качество изображения, но производительность в таком режиме снижается, т. к. отрисовка происходит в более высоком разрешении.
Метод, представленный AMD.
Технология аналогична Dynamic Super Resolution от Nvidia, поэтому если вы хотите более подробно ознакомиться с данным методом, то посмотрите немного выше в статье.
Временные методы
Методы стараются смягчить эффекты временного искажения.
Большинство методов вызывают значительное размытие во время движения.
Временное сглаживание — общий термин для различных временных методов. Не ограничен конкретным производителем.
Метод включает в себя алгоритм на основе шейдера, который объединяет два кадра с использованием векторов движения для определения места выборки предыдущего кадра, является одним из наиболее распространённых алгоритмов улучшения изображения, используемых сегодня.
Метод предназначен для видеокарт серии Nvidia GeForce GTX 600 и выше.
Техника в стиле кино предназначена для уменьшения временного искажения (ползание и мерцание, наблюдаемые в движении во время игры).
Метод сочетает в себе грубую мощь MSAA со сложными фильтрами, аналогичными тем, которые используются в фильмах с использованием компьютерной графики для получения гладкого изображения.
Временное искажение вызвано тем, что частота дискретизации (число кадров в секунду) сцены слишком мала по сравнению с скоростью преобразования объектов внутри сцены. Из-за этого объекты кажутся прыгающими или появляются в каком-то месте вместо того, чтобы создавать впечатление плавного движения к ним. Во избежание артефактов искажения частота дискретизации сцены должна быть как минимум в два раза выше, чем у самого быстро движущегося объекта. Поведение затвора в испытательной выборке (обычно камеры) сильно влияет на наложение, поскольку общая форма экспозиции с течением времени определяет систему с ограниченной полосой перед дискретизацией, что является важным фактором при сглаживании. Типичный пример временного сглаживания в кино — это появление колес транспортного средства, движущихся назад, так называемый эффект вагонных колёс.
Ниже вы можете увидеть сравнение нескольких режимов: без сглаживания, FXAA, SMAA и TXAA
Данный метод также известен как TMAA.
В данном случае сглаживание применяется не только к текущему кадру, но и к некоторым кадрам, которые были отрисованы ранее, восстанавливая старые положения пикселей и используя их скорость. Это создаёт более плавные и кинематографические сцены в игре, лишь немного увеличивая нагрузку на видеокарту.
В отличии от TXAA, TSSAA не привязан к конкретному производителю и работает для всех видеокарт. Данный метод сглаживания был применён в World of Tanks с версии 9.9. В данной игре он поделился на две версии:
Ниже вы можете увидеть сравнение изображения: без сглаживания, FXAA, TSSAA-LQ и TSSAA-HQ.
Методы реконструкции
Сглаживание с использованием методов реконструкции — попытка снизить нагрузку на графический процессор за счёт рендеринга с более низким разрешением, затем масштабирования до выходного разрешения с одновременным сглаживанием.
Данный метод — гибридное решение аппаратной выборки, постобработки, временной обработки и анализа. Сглаживание было разработано Ubisoft Montreal и применено в Far Cry 4. Метод основан на лучших элементах постобработки, равен SMAA с точки зрения четкости изображения в статических моментах при попытке устранить мерцание, которое вызвано отсутствием временной выборки.
На практике на PS4 HRAA достаточно успешно обрабатывает неровности, избегая остаточного размытия текстуры. Данная проблема присутствует при использовании популярного метода FXAA. С геометрическими искажениями трудно справиться и при работе с конечной целью растеризации субпиксельные элементы тщательно очищаются. В неподвижных изображениях игра сохраняет резкость во всех нужных местах. Вторая же цель метода — улучшить работу сглаживания в движении. Высококонтрастные элементы, такие как промежутки между листвой деревьев (типичная жертва временного мерцания), выигрывают от смешивания текущего и предыдущего кадров, чтобы уменьшить визуальные помехи. Конечным результатом является очень небольшое мерцание, напоминающее метод TXAA, используемый на ПК.
Ниже вы можете увидеть пример работы метода: без сглаживания, со сглаживанием, со сглаживанием и увеличением резкости.
Метод — эксклюзив видеокарт Nvidia RTX.
DLSS эмулирует избыточную выборку с использованием нейронной сети для вывода дополнительных деталей поверх внутриигровой отрисовки, сопоставляя его с эталонным изображением, которое было отрисовано с использованием избыточной выборки 64x (64xSS).
В то время, как TAA выполняет отрисовку с конечным целевым разрешением, затем объединяет кадры и вычитает детали, DLSS снижает количество ресурсов необходимых для отрисовки, используя меньшее количество выборок, тем самым практически не влияя на конечную производительность, т. к. для сглаживания используются тензорные ядра.
DLSS использует 2/3 от окончательного разрешения для отрисовки, а затем масштабирует его до полного разрешения.
DLSS 2X — единственный метод, который может отрисовать разрешение игры таким же, как выходное разрешение.
Ниже вы можете рассмотреть примеры работы метода.
Ниже один из примеров различия в качестве DLSS, кроме этого вы можете посмотреть подробное видео по DLSS у нас на Youtube – канале.
В основе FSR лежит передовой алгоритм, который обнаруживает и воссоздаёт края с высоким разрешением из исходного изображения. Эти края с высоким разрешением являются критическим элементом, необходимым для превращения текущего кадра в изображение «супер разрешения».
FSR обеспечивает постоянное качество масштабирования независимо от того, находится ли кадр в движении или нет, что может обеспечить качественные преимущества по сравнению с другими типами масштабирования.
FSR состоит из двух основных этапов:
У FSR также есть вспомогательные функции для преобразования цветового пространства, шумов и сопоставления тонов, помогающие интегрировать его в общие конвейеры отрисовки, которые используются в современных играх.
FSR FidelityFX супер разрешение ищет изменение градиента в исходном изображении для восстановления краев высокой четкости при повышении разрешения.
Сравнение качества сглаживания в разных сценах
Теперь рассмотрим несколько примеров разных видов сглаживания для сравнения.
Выводы
Подводя итоги, обращаем ваше внимание на то, что некоторые методы остались за кадром, некоторые со временем улучшаются. Как вы могли видеть, все методы преследуют одинаковые цели. Зачастую это избавление от «неровностей» и «лесенок» на изображении. Кто-то скажет, да я ничего подобного не вижу и зачем мне нужно сглаживание, и он будет по-своему прав. Также необходимо отметить, что практически все методы снижают итоговую производительность и требуют некоторых ресурсов для их реализации. Конечно, некоторые используют малое количество, другие и вовсе показывают нам производительность выше, чем оригинальная игра (методы реконструкции), и такие методы всё чаще появляются в играх. Также производители игры не всегда включают разные виды сглаживания в игры и хорошо, если будет добавлен хотя бы 1 вид, который хоть как-то улучшает изображение.
Пользоваться сглаживанием или нет? Решать только вам!