Что делает сглаживание в играх

Что делает сглаживание в играх

Зачем нужно сглаживание в играх?

Сглаживание в играх устраняет «эффект лесенки» или «зубчатости» на краях объектов, что повышает реалистичность изображения. Сглаживание можно настраивать в программе настройки драйвера (у видеокарт ATI — «Catalyst Control Center», у видеокарт NVIDIA — «Панель управления NVIDIA») или в самой игре, выбирая значение, например 2X, 4X, 8X. Чем выше значение, тем более сглаженные будут объекты в игре. Сглаживание может снижать производительность игр. Чем выше значение, тем ниже производительность.

Сглаживание или «anti-aliasing» используется для того чтобы сгладить картинку, убрать так называемые «лесенки» и эффект «зубчатости», наиболее заметны они на прямых линиях в играх.

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

MSAA — работает по довольно простому принципу, создает картинку в несколько раз больше чем необходимо, а затем сжимает её до нужного размера. Получается довольно хороший результат, но нагрузка на видеокарту просто огромная, потому что чем больше вы выберите параметр 2X/4X/8X, тем большего размера будет создаваться и сжиматься картинка.

FXAA — данный метод основан на постобработке, то есть технология применяется уже к сформированному изображению необходимого разрешения. По качеству, в некоторых случаях этот метод может сравниться с 4-ёх кратным MSAA, однако при этом практически не создает нагрузку на видеокарту.

TXAA — самая свежая технология, используется только в видеокартах от NVIDIA. Дает очень плавную и сочную картинку, но создает ощутимую нагрузку на видеокарту. По своей ресурсоемкости это что-то среднее между MSAA и FXAA.

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

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

Начнем с определения:

Сгла́живание (англ. 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) — нетребовательное быстрое сглаживание. Алгоритм прост — совершается один проход по всем пикселям изображения и усредняются цвета соседних пикселей. Это слабо нагружает видеокарту, однако сильно мылит картинку (обратите внимание на четкость текстуры камня), делая объекты вдали вообще неузнаваемыми:

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

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

Из особенностей — это единственное сглаживание, работающее полностью на процессоре, поэтому практически не влияет на fps в играх при мощном процессоре. Из-за более сложного алгоритма изображение получается более качественным, чем с FXAA, однако до 2x MSAA все еще далеко.

SMAA (Subpixel Morphological anti-aliasing) — смесь FXAA и MLAA. По сути несколько улучшенный MLAA, но работающий на видеокарте (так как процессор для сглаживания подходит гораздо хуже). Дает картинку, сравнимую с MLAA, лучше, чем FXAA (обратите внимание на бочки), однако потребляет больше ресурсов:

Такое сглаживание является хорошей заменой FXAA, и по уровню нагрузки на видеокарту находится между отсутствием сглаживания и 2x MSAA, так что есть надежда, что в будущем игр с ним будет все больше.

TXAA(Temporal antialiasing) — новая технология сглаживания от Nvidia. В отличии от других типов сглаживания, которые работают только с одним кадром (то есть с неподвижной картинкой), это умеет работать с движущимися объектами и хорошо убирает «мельтешение» картинки. По сути является смесью MSAA и SMAA, дает очень качественную картинку, однако немного ее мылит и очень требовательно к ресурсам.

FXAA — что это? Метод сглаживания. Сглаживание в играх

Уже прошло то время, когда игры впечатляли исключительно своим геймплеем: игрок давным-давно стал требовательным и, в частности, требовательным к качеству представленной на экране картинки. При этом мало кто знает, что для обеспечения высокой степени качества сегодня многими разработчиками игр используется сглаживание FXAA. Что это такое — сегодня известно далеко не всем геймерам, поэтому многие и задумываются, стоит ли вообще включать эту функцию.

Преимущественное большинство игроков прекрасно знает о том, что представляют собой так называемые лесенки по краям объектов, а также о том, как можно решить данную проблему, использовав «anti-aliansing» или просто «сглаживание».

Что такое сглаживание?

Сглаживание – это неплохое явление, так как значительно увеличивается восприятие картинки, а в современных реалиях те игры, в которых оно не использовано, в конечном итоге чаще всего оказываются освистанными. При этом неудовлетворительным остается то, каким образом реализуется сглаживание FXAA. Что это такое, многих пользователей может даже не интересовать, однако на самом деле именно реализация влияет на качество конечной картинки.

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

Что такое FXAA?

Сразу стоит отметить, что уже достаточно давно игроделами используется технология сглаживания FXAA. Что это такое, тогда еще не знали, но первое его использование встречается в ММО Age of Conan, а также в известном по всему миру шутере F.E.A.R. В этих играх, правда, использовалась только первоначальная версия данного сглаживания, которая на тот момент представляла собой не самое производительное решение.

В наше время в играх используется несколько иной формат FXAA. Что это такое? Расшифровывается как Fast approximate Anti-Aliasing, что представляет собой более эффективное решение по сравнению с традиционной технологией MSAA. Это однопроходный пиксельный шейдер, при помощи которого обсчет результирующего кадра осуществляется еще на этапе постобработки. Данный шейдер создавался в качестве более быстрого решения, которое является менее требовательным к памяти в сравнении с вышеуказанными, однако за свои преимущества технология расплачивается точностью работы, а также качеством. Увидев это, многие могут посчитать, что технология неактуальна. На самом деле это не совсем так.

В чем преимущества этого метода?

Сглаживание FXAA отличается целым рядом преимуществ, включая улучшенное сглаживание так называемых субпикселей и спекуляров. В официальном документе разработчик данной технологии Тимоти Лоттс говорит о том, что его продукт с настройками среднего качества осуществляет постобработку кадров разрешением 1920х1200 на основе GTX 480 со скоростью менее одной миллисекунды.

Основные преимущества, которые имеет сглаживание FXAA, заключаются в том, какой именно здесь используется алгоритм сглаживания субпикселей, который работает более эффективно по сравнению с алгоритмом MLAA, что является вполне достаточным для работы оборудования, которое работает на уровне DirectX9. То есть в данном случае осуществляется постобработка в один проход, и самым интересным является полная независимость от того, какой используется GPU Compute API. Однако здесь есть и один минус – разработчики должны эту технологию в обязательном порядке встраивать в различные игры. В то же время традиционные технологии сглаживания работают или же, наоборот, не могут работать на уровне драйверов. Таким образом, пока программисты будут использовать в своих движках метод экспоненциального сглаживания и при этом не будут применять в своих движках код FXAA, невозможно будет добиться необходимого эффекта, так как включить код извне до недавнего времени было невозможно.

Как была решена проблема?

С течением времени было принято решение изначально ввести код FXAA в библиотеку d3d.dl, вследствие чего появилась возможность гибкой настройки результата через различные конфигурационные файлы, а также включение или же выключение FXAA при помощи кнопки [Pause]. Данный набор файлов изначально копируется в директорию, где присутствует исполняемый файл приложения DX9, а это приложение при запуске будет подхватывать библиотеку, в которой присутствует нужный код. При этом, так как разработчик технологии внедрения данного кода в библиотеку изначально позаботился о том, чтобы результаты работы были помещены в лог, пользователи активно начали определять баги в работе этой технологии, которые достаточно быстро исправлялись. С течением времени появились также «инъекции» с кодом для форматов DirectX 10 и 11.

Как проверить?

Наиболее очевидно определить эффект от того, что используется метод экспоненциального сглаживания и FXAA, можно в игре World of Tanks.

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

В чем проявляются изменения?

После того как включается FXAA tool, результат становится налицо: артефакты полностью исчезают, однако появляется некоторая размытость картинки. Помимо этого, есть также уникальный вариант FXAA Sharpen. Разработчик технологии в одной из версий добавил фильтр резкости, который был взят из MPC-HC, при этом конечный результат оказался вполне приличным: размытости полностью исчезают, текстуры получают еще более резкий вид по сравнению с оригиналом, а «лесенки», несмотря на использование данного фильтра, практически полностью отсутствуют. Теперь вы знаете, что такое FXAA в играх типа World of Tanks. Из-за того что авторы изначально не планировали такую резкость текстуры, могло немного «выбивать» башни, но в игровом процессе это является практически незаметным.

Производительность здесь практически не уменьшается. Конечно, движок World of Tanks работает несколько удивительным образом, поэтому всплески или же, наоборот, падения производительности в конечном итоге могут проявляться буквально из ничего.

NoAA, SMAA или FXAA

Если сравнивать режимы «noAA» или SMAA и «FXAA Sharpen», то картинка значительно изменяется в лучшую сторону в последнем случае. Единственным исключением здесь является используемый фильтр резкости, который чрезмерно тонкие линии сужает еще больше, в частности, это особенно заметно в навесном прицеле артиллерии. При этом количество кадров в секунду в варианте FXAA значительно превышает предыдущий вариант.

В процессе проведения длительных тестов было определено, что при использовании FXAA производительность падает приблизительно на 10-12%, в то время как в случае, если используется метод сглаживания MSAA 4x, качество которого конкурирует на сегодняшний день с технологией FXAA, и вовсе проявляется падение производительности на 50% и более.

В 2011 году появилась также настраиваемая версия инъекции, в которую были включены все вышеперечисленные варианты FXAA и их преимущества. В данной сборке присутствовало достаточно большое количество фильтров, среди которых стоит выделить:

  • Размытие.
  • Виньетирование.
  • Насыщение цветом.
  • Сепию.
  • И множество других.

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

Сглаживание в играх (Anti-Aliasing)

Сглаживание (Anti-Aliasing) — технология устранения эффекта «зубчатости», возникающего на краях множества плоских или объёмных изображений.

Обращаем ваше внимание, что, по данным редакции, включенная технология сглаживания не влияет на качество прицеливания в играх, например, в Counter-Strike.

Демонстрация работы технологии сглаживания на примере игр CRYTEK:

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

SSAA — Высокое качество сглаживания при большой нагрузке на GPU. Потребление ресурсов системы: для разрешения 1280×1024 с SSAA 4x необходим экранный буфер такого же размера, как при разрешении 2560×2048 без SSAA.

MSAA — Высокое качество сглаживания при большой нагрузке на GPU. Данный способ меньше нагружает систему чем SSAA, но тем не менее требует высокопроизводительную видеокарту.

CSAA — разработка NVIDIA. При уровне сглаживания MSAA 8x загружает систему на уровне MSAA 4x.

FXAA — Среднее качество сглаживания при минимальной нагрузке на GPU. У этого способа есть существенный недостаток, а именно — замыливание текстур.

SMAA — Высокое качество сглаживания при разделении нагрузки между GPU и CPU. Замыливание текстур практически не заметно.

TXAA — Сочетает преимущества MSAA и FXAA и примерно равное сглаживание при значении в TXAA 4x и MSAA 8x. Однако замыливание заметное в сравнении с последним.

Сейчас актуален для слабых видеокарт FXAA, а для производительных TXAA или MSAA.

По вертикали уровень качества обработки (выше — лучше)

По горизонтали быстродействие (левее -лучше)

Технология сглаживания NVIDIA TXAA (временное сглаживание)

Игры кинематографического качества стали реальностью

Киностудии, выпускающие фильмы с компьютерной графикой, затрачивают значительные вычислительные ресурсы, чтобы убедиться, что нереалистичные, «зазубренные» края изображения не отвлекают зрителя. Чтобы игры могли достичь такого уровня четкости воспроизведения изображения, разработчикам необходимы новые техники сглаживания, которые сокращают не только неровные линии, но и устраняют дрожание изображения, при этом не причиняя ущерба производительности.

Чтобы помочь в осуществлении такой четкости воспроизведения, компания NVIDIA создала еще более высококачественный режим сглаживания под названием TXAA, который создан для интеграции непосредственно в игровые движки. Объединяя высокую эффективность MSAA и продвинутые фильтры для повышения качества изображения, схожие с теми, которые используются при создании фильмов с компьютерной графикой, TXAA обеспечивает более плавное изображение, значительно превосходя любые сопоставимые техники сглаживания. Кроме того, TXAA также может осуществлять джиттер сэмплов целой сцены между кадрами, чтобы сократить дрожание, которое технически известно как временный алиасинг.

На данный момент сглаживание TXAA доступно в двух вариантах: TXAA 2x и TXAA 4x. TXAA 2x обеспечивает четкость изображения, сравнимую с 8xMSAA, при равных с 2xMSAA затратах производительности, а TXAA 4x обеспечивает четкость изображения выше, чем при 8xMSAA, при этом затраты производительности сравнимы с 4xMSAA.

NVIDIA® TXAA

TXAA – это новая техника сглаживания кинематографического качества, созданная специально для сокращения временного алиасинга ( сползание и мерцание при движении). Эта технология является комбинацией временного фильтра, аппаратного сглаживания и специальной компьютерной графики высокого качества. Для фильтрации пикселей на экране TXAA использует выборку сэмплов как внутри, так и снаружи пикселя, в соединении с выборками из предыдущих кадров, чтобы обеспечить по возможности самое высокое качество фильтрации.TXAA имеет улучшенную пространственную фильтрацию по сравнению со стандартными алгоритмами сглаживания 2xMSAA и 4xMSAA. К примеру, при воспроизведении ограждения, листвы или объектов в движении TXAA приближается, а порой и превосходит по качеству другие высококлассные профессиональные алгоритмы сглаживания. Более высококачественная фильтрация, применяемая в TXAA, приводит к более плавным изображениям по сравнению с менее качественной фильтрацией традиционного сглаживания MSAA.

TXAA объединяет высокую эффективность MSAA и продвинутые фильтры для повышения качества изображения, схожие с теми, которые используются при создании фильмов с компьютерной графикой, чтобы обеспечить более плавное изображение, значительно превосходя любые сопоставимые техники сглаживания. В зависимости от освещения, используемого в каждой отдельно взятой игре, ущерб производительности от использования TXAA может незначительно отличаться. В отличие от таких алгоритмов сглаживания, как FXAA, которые пытаются максимизировать производительность в ущерб качеству изображения, TXAA пытается максимизировать качество воспроизведения в ущерб производительности. TXAA – это лучший выбор для тех, кто ищет самое высококачественное сглаживание с максимально возможной производительностью, чтобы обеспечить лучшее изображение в таких играх, как Assassin’s Creed® III и Call of Duty®: Black Ops 2.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

19 − 1 =