Txaa в играх что это
Технология сглаживания 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.
Типы сглаживания и их принудительное включение в играх
Содержание
Содержание
Любой хотя бы раз видел в игре настройку «Сглаживание», оно же 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 помощью различных программ и панели управления видеокартой.
Теперь вы в любой момент сможете улучшить качество изображения, даже если в самой игре настройки сглаживания не предусмотрено.
Сглаживание в играх
Всем привет! Я решил немного разбавить свои блоги, небольшими статьями про графические и технические особенности игр. Эти статьи не будут частым гостем, я думаю раз в пару месяцев.
Первой технологией, которую мы с вами разберём станет – сглаживание. Почему именно она? Да потому, что данная тема тесно связанна с тем, как найти идеальный компромисс между вашими аппаратными ограничениями и отображаемой картинкой на экране.
Как всегда две версии: видео и текстовая.
Зачем оно нужно?
В Blender я создал простой куб, и пока камера направленна параллельно к одной из его плоскостей то, кажется, словно всё отлично. Но стоит немного повернуть, как мы тут же увидим, как на его гранях появились лесенки. Которые будут постоянно перестраиваться при движении. А теперь представьте, что происходит в играх, которые наполнены огромным количеством постоянно двигающихся объектов, правильно всё будет создавать эффект эдакого «мельтешения».
Похожий принцип будет и со шрифтами. Ведь изначально в Windows используется алгоритм сглаживания – ClearType. И вот если его отключить, то мы можем наглядно наблюдать за тем, как наши гладкие шрифты покрываются рубцами.
Причина этого проста – наши мониторы выводят изображение дискретно, то есть пиксель либо залит закрашен, либо нет. Ну а как мы все знаем, пиксели квадратные, и из этого следует то, что идеальными линиями могут быть только вертикальные и горизонтальные. А все другие объекты, которые находятся под углом будут отображаться с помощью пикселей, которые находятся по диагонали. На отдаление это может и вправду показаться что линия ровная, но стоит приблизить, как эта иллюзия тут же рушится.
Поэтому при сглаживании мы и используем соседние пиксели, которые могли бы сгладить всё это подходящим оттенком. Но мало просто иметь возможность задать полутона, нужно каким-то образом машине объяснить, какие для этого цвета вообще нужно объединить и где их применять.
Сглаживание в играх
Перед тем как я начну рассказывать про каждый из часто встречаемых алгоритмов сглаживания, стоит кратко упомянуть как вообще происходит подготовка кадра:
Это важно понимать ведь в зависимости от алгоритма, сглаживание может применяться как к готовому 2D кадру, так и на этапе создания 3D сцены что по итогу влияет на качество изображение, а также на нагрузку системы.
SSAA (SuperSample Anti-Aliasing)
Самое простое, самое качественное и самое прожорливое, всё это про сглаживание SSAA, или как его ещё называют метод избыточной выборки.
Данный алгоритм отрисовывает нашу сцену в более высоком разрешение для того, чтобы собрать данные о границах объектов. После этого уменьшает сцену в родное разрешение и применяет полученные данные для создания полутонов. Для того что бы подбор цветов был наиболее правильным, вместе с объектами сразу отрисовываются все тени, источники освещения, текстуры и т.д. Что как не трудно догадаться увеличивает ресурсозатратность. Однако это даёт лучший результат из всех.
Если упростить все вышесказанное, то: при SSAA x4, наше изображение увеличивается в 4 раза. То есть наш один физический пиксель делится на 4 виртуальных. И уже с помощью слияния цветов виртуальных пикселей получается нужный полутон для нашего объекта.
Но главная проблема данного алгоритма заключена в том, что он применяется ко всему кадру! То есть, те объекты, которые находятся за гипотетической стеной и скрыты от глаз игрока, всё ровно будут подвергаться сглаживанию. И именно по этой причине данный алгоритм является самым требовательным.
MSAA (MultiSample Anti-Aliasing)
Метод множественной выборки, пришёл на смену прошлому. Данный алгоритм работает по похожему принципу что и метод избыточной выборки, вот только с некоторыми отличиями.
Больше не отрисовываются объекты, которые не видит игрок. Так же было решено изменить то, к чему применять сглаживание. Ведь SSAA применял сглаживание ко всему в кадре, в то время как MSAA применяет его только к границам объектов. Что по итогу сделало сглаживание чуть хуже, но за то довольно ощутимо снизило нагрузку на видеокарту.
Из основных недостатков данного метода, это то, что он не работает на прозрачных и зеркальных поверхностях: стекла, вода, отражения и прочие. И то, что он крайне сильно нагружает систему в тех местах, где есть много мелких объектов, шерсть, трава и т.д.
Следующие алгоритмы, про которые пойдёт речь, применяются к готовому 2D кадру, что в разы снижает требование к системе, но также и качество сглаживание. Данные методы убирают лесенки, но дают «любимое» многими мыло.
FXAA (Fast approXimate Anti-Aliasing)
Быстрое приблизительное сглаживание разработанное Nvidia, как я уже говорил ранее работает с готовым 2D кадром, так что определить границы с помощью моделей уже не получится. Поэтому в данном алгоритме используется метод нахождения границ по контрасту. И уже с помощью этого пиксели будут окрашиваться в градиенты что бы сделать эффект сглаживания.
Если по-простому, то наш условный персонаж в тёмной одежде, находится на ярком фоне. Наш алгоритм благодаря резкой смене яркости определяет границы объекта. И красит пограничные пиксели в градиент от яркого цвета фона, в тёмный цвет персонажа за счёт чего и получается сглаживание.
Ну а почему с данным методом картинка становится такой мыльной что её спокойно можно взять с собой в душ? Ну причина этого заключена в том, что данный метод применяет сглаживание абсолютно ко всему контрастному.
SMAA (Subpixel Morphological Anti-Aliasing)
Субпиксельное морфологическое сглаживание, использует способ поиска участков, которые нужно сгладить похожий на тот, что используется в FXAA, то есть по контрасту цветов, яркости. Но в добавок к этому в нём заложен принцип MLAA обычного морфологического сглаживания, а то есть поиск границ осуществляется не только контрастностью, но и с помощью паттернов.
В наследство от MLAA достались паттерны – Z, U, L. Но этого было недостаточно, и были добавлены разные диагональные паттерны, с помощью которых делается более точное определение границы объекта и плюс к этом производится отсечение тех участков изображения, где сглаживание необходимо от тех, где оно ненужно ведь там должен быть острый угол.
Нагрузка на систему при использовании данного алгоритма чуть выше, чем у FXAA, но и качество лучше. Мыло хоть и не исчезло окончательно, но его явно стало меньше.
TXAA\TAA (Temporal Anti-Aliasing)
Временное приблизительное сглаживание, так же, как и FXAA разработано компанией Nvidia. Информации по тому, как работает этот алгоритм немного. Из того, что есть можно понять, что данный метод имеет в себе MSAA, но он применяется не каждому кадру, а условно через каждые 3. А те кадры, которые не подверглись алгоритму MSAA, используют данные из предыдущих.
По заверениям людей из Nvidia, качество TXAA x2 будет сопоставимо MSAA x8, но при этом потреблять ресурсов он будет как MSAA x2. И в целом — это так, но с двумя оговорками. Первая иногда можно заметить шлейфы у объектов, это как раз те самые участки предыдущих кадров, которые ещё не успели выгрузиться из памяти видеокарты. И вторая, изображение с данным алгоритмом мылится, особенно те объекты, которые находятся близко к игроку.
Данные проблемы должен решить новый алгоритм сглаживания, которым сейчас занимается Nvidia. ATAA адаптивное временное сглаживание. Это будет похоже по принципу на TXAA, но при создании маски, по которой будет применяться сглаживание будет так же использоваться технология трассировки лучей. Вот только что-то мне подсказывает что уже вряд ли мы получим ATAA, ведь всё это перекачивало в DLSS.
И кстати раз я про него заикнулся то скажу сразу, я не буду в сегодняшнем блоге разбирать данную технологию, ведь я просто на просто не владею видеокартой с RT ядрами.
Под конец хотелось бы сказать про ещё один способ убирать лесенки и мерцание в играх, для этого не требуются никакие алгоритмы. Ведь это более высокое разрешение экрана.
Объясню вкратце – у нас есть два 27` монитора, один из них обладает разрешением экрана 1920х1080 а второй 3840×2160, и думаю тут и так понятно, что плотность пикселей у 4К монитора в разы выше, чем у FullHD. За счёт чего и произойдёт сглаживание сцены. Вот только для это потребуется и надлежащая мощность вашего железа и конечно же 4К монитор.
Заключение
Сегодня мы с вами поговорили далеко не про все виды сглаживаний, но просто все другие либо мало чем отличаются от этих, или и вовсе, просто включают в себя сразу несколько разных методов. А те, про которые сегодня шла речь, были самые популярные которые вы чаще других встретите в играх.
Так же в заключение я хотел бы сказать какой из вышесказанных методов выбрать. Но всё это индивидуально, и зависит от игры и начинки вашего ПК. Но всё же попытаюсь кратко помочь вам с выбором:
А на этом у меня всё, если я где-то допустил ошибк_(и, у), то буду рад тому, что бы меня исправили. Всем большое за прочтение и до встречи в следующих блогах!