Да кто такой этот ваш MSAA и SSAA?!
Вы часто видели эти MSAA и SSAA в настройках — и выбирали опцию наугад. Знали примерно, что эти загадочные буквы связаны со сглаживанием картинки, и этого вам всегда хватало. Но червячок сомнений всё-таки точил ваш разум. Иначе бы вы, как и мы сейчас, не задались вопросом: «Кто же такие эти самые MSAA и SSAA на самом деле?». Ну что ж, давайте разберёмся со всем этим по порядку и без заумных словечек.
Что такое сглаживание?
Минутка очевидных вещей. Изображение на вашем мониторе состоит из пикселей — очень маленьких квадратиков. По законам геометрии, из них получаются отличные вертикальные и горизонтальные линии и идеальные прямоугольники. А вот если нарисовать в Paint наклонную линию или круг, то тут же на белый свет явятся пиксельные «лесенки».
Далеко не каждую 2D фигуру можно создать только при помощи квадратов и линий под прямым углом, а о трёхмерных объектах нечего и говорить. Так что проблема сглаживания существует в играх как сейчас, так и тридцать лет назад — вам не хуже меня видно, где стоило бы сгладить Лару Крофт.
Вот эти вот неровности ещё называют «алиасингом». На скриншоте это выглядит более-менее терпимо, но в игре, помимо эстетических неудобств, они создают ещё и лишнее мельтешение на экране — ломаные линии будут всё время перестраиваться и отвлекать, а задний план и вовсе превратится в разноцветную мешанину пикселей. Решить проблему «лесенок» можно двумя способами.
Первый — это увеличить разрешение. Тогда на один экранный дюйм будет приходиться больше пикселей, и вероятность увидеть резкие переходы снизится: не зря сейчас индустрия потихоньку переходит на 4к. За ним последует 8к, потом 16к, и в конце концов вы скорее разглядите пиксели на оконном стекле, чем на экране. К сожалению, подобная роскошь кусается как в плане цены, так и в плане производства, а сорок лет назад не было даже возможности создать экран с таким разрешением. Поэтому пришлось придумать второй способ.
И это — сглаживание, которое не позволяет рваным линиям и неровностям портить вам всю малину. Технологию создали в 1972 году в Массачусетском технологическом институте, а затем эту идею подхватили и переработали все кому не лень, так что теперь мы имеем кучу разных видов смягчения границ предметов. Однако, суть у всех общая: линию на изображении сглаживают с помощью градиента на крайних пикселях.
Для сглаживания изображения к контурам предмета добавляются оттенки соседнего цвета — ближайшие к фону пиксели принимают среднее цветовое значение между моделькой и окружением, размывая границу и создавая градиент. В результате картинка выходит более плавной и приятной для глаз, хоть и становится немного мыльной.
Для некоторых графических элементов используются специальные алгоритмы сглаживания. Так, для смягчения контуров букв придумали ClearType, а для самых простых линий — Алгоритм Ву. Некоторые алгоритмы работают только с уже существующим изображением, а другие применяются прямо во время построения сцены. Одни из них жрут мощности вашей видеокарты, а другие сосредоточенно жуют ваш процессор и не влияют на FPS.
В общем, способы и принципы работы у всех разные, а значит, и фичи с багами тоже у них свои. Так что давайте разберём несколько самых популярных видов сглаживания подробнее.
Включаем SSAA и улучшаем качество изображения в играх
Мерцающие строчки и различные артефакты изображения вызывают неприятные ощущения не только в играх. Решением этой проблемы является избыточная выборка сглаживания (суперсэмплинг). Суперсэмплинг (SSAA) — это самый простой и прямолинейный метод сглаживания. Он заключается в том, что изображение рассчитывается в виртуальном разрешении, в несколько раз превосходящем реальное разрешение монитора ПК, после чего масштабируется и фильтруется до [. ]
Мерцающие строчки и различные артефакты изображения вызывают неприятные ощущения не только в играх. Решением этой проблемы является избыточная выборка сглаживания (суперсэмплинг).
Суперсэмплинг (SSAA) — это самый простой и прямолинейный метод сглаживания. Он заключается в том, что изображение рассчитывается в виртуальном разрешении, в несколько раз превосходящем реальное разрешение монитора ПК, после чего масштабируется и фильтруется до итогового разрешения.
При этом цвет каждого пикселя реального разрешения вычисляется на основе нескольких субпикселей виртуального. Это позволяет значительно повысить качество изображения, но при этом нагрузка на ускоритель возрастает в несколько раз, а скорость, соответственно, падает, то есть графическая карта производит вычисление разрешения, которое будет выше разрешения монитора.
Перед выводом масштаб изображения уменьшается. Это делает края мягче, картинка кажется более естественной. Драйверы AMD Radeon предлагают эту функцию под названием «Virtual Super Resolution», у продуктов NVIDIA ее можно найти под названием «DSR-Factor» — в обоих случаях требуется весьма мощная графическая карта.
Многие модели современных мониторов предоставляют возможность для суперсэмплинга даже без специальных функций драйвера. Вы сами сумеете уменьшить масштаб при слишком высоком разрешении. Однако необходимо предварительно настроить драйвер видеокарты таким образом, чтобы он выводил максимально высокое разрешение, и уже затем регулировать масштаб возможностями монитора.
Также можно применить бесплатную утилиту Custom Resolution Utility, которая выполняет нужные для этого шаги просто по клику мышью.
Это работает следующим образом: в левой верхней части меню подключенный монитор должен быть отмечен как «активный». Если он не появляется автоматически, то выберите его в выпадающем меню. С помощью кнопки «Add» (добавить) теперь можно указать более высокое разрешение. Далее необходимо протестировать, какое максимально высокое разрешение возможно использовать.
Важно: сначала вы можете настраивать любое разрешение — технические пределы определяются только лишь настройками игры и возможностями вашей графической карты.
Например, для мониторов с разрешением Full HD (1920×1080 точек) и разъемом DisplayPort предельное значение составляет 2560х1440 точек.
Проверить это достаточно просто: новое разрешение пригодно к использованию сразу же после перезагрузки. Если же вы установили слишком высокое разрешение, то экран остается черным. Для того, чтобы вернуть картинку на экран монитора, загрузите операционную систему Windows в безопасном режиме.
В безопасном режиме запуск ОС выполняется с использованием ограниченного набора драйверов. Также не производится запуск программ из автозагрузки.
Для запуска компьютера в безопасном режиме в момент старта системы нажимайте клавишу F8. Будьте внимательны: эту кнопку необходимо нажать в самом начале, то есть до того, как появится логотип Windows. Если вы пропустили нужный момент и эмблема Windows успела появиться — дождитесь окончания загрузки операционной системы, затем перезагрузите компьютер и попробуйте снова.
ФОТО: Nikolaus Schäffler; компании-производители
Типы сглаживания и их принудительное включение в играх
Содержание
Содержание
Любой хотя бы раз видел в игре настройку «Сглаживание», оно же 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 помощью различных программ и панели управления видеокартой.
Теперь вы в любой момент сможете улучшить качество изображения, даже если в самой игре настройки сглаживания не предусмотрено.
Тестирование 23 видеокарт в Metro: Last Light
Родоначальник игровой серии Metro, вышедший в 2010 году, запомнился геймерам не только достоинствами игрового процесса, но и выдающейся графической оболочкой. Условно отечественные разработчики из украинского стартапа 4A Games, имея сравнительно небольшой бюджет, создали собственный движок 4A Engine, обладавший для своего времени недюжинными техническими возможностями. Владельцы железа с поддержкой DirectX 11, запустив Metro 2033, могли воспользоваться всеми прелестями этого API — в первую очередь, аппаратной тесселяцией. В результате Metro 2033, подобно таким долгожителям, как Crysis Warhead, застолбила место среди бенчмарков для всех новых видеоадаптеров, появившихся на свет с момента выхода самой игры. Однако, как и в случае с Crysis, причина долголетия заключается не только и не столько в красотах Metro 2033, сколько в том, что даже на видеокартах 2013 года с максимальными настройками игра отчаянно тормозит. Такое строгое мерило производительности отлично демонстрирует мощь экстремальных конфигураций с несколькими GPU, благодаря которым в Metro 2033 наконец-то достигается приемлемая частота смены кадров. Ну а в обзорах однопроцессорных, пусть и самых топовых, видеоадаптеров, Metro 2033 показывает, что производителям чипов еще есть куда расти.
В общем, оптимизация графического движка была одним из главных требований к сиквелу Metro 2033. В итоге в лице Metro: Last Light мы получили игру, одновременно и превосходящую предшественника по визуальным достоинствам, и более эффективно использующую вычислительные возможности GPU. Хотя в арсенале обновленного 4A Engine по-прежнему есть опция, способная поставить на колени мощнейшие из графических процессоров, о чем будет сказано позже.
У нас нет полного списка тех изменений в коде, которым Metro: Last Light обязана повышенной производительностью, но известны некоторые интересные особенности движка, одна из которых — потоковые текстуры (Streaming Textures). За счет того, что текстуры загружаются в кадровый буфер видеокарты по требованию, удалось снизить требования к его объему. Игра, даже при максимальных настройках и разрешении 2560х1440, довольствуется 2 Гбайт видеопамяти. Другая подробность о движке Metro: LL — это то, что задачи собственно рендеринга графики, наложения физических эффектов и обработки звука динамически назначаются свободным потокам CPU, вместо того чтобы неизменно отдать графике первый поток, физике — второй, звуку — третий.
⇡#Настройки графики Metro: Last Light
Графические опции Metro: LL небогаты. Разработчики избавили геймера от выбора между версиями DirectX: по умолчанию игра работает в DirectX 11, но готова откатиться к DX10 или даже DX9, если в железе не обнаружено поддержки DX11. Наиболее заметная разница состоит в том, что в DirectX 10 нет тесселяции, а в DX9 отсутствует Object Motion Blur. Кроме того, в DirectX 11 игра просто-напросто быстрее, чем в его предшественниках.
Рассмотрим те немногие настройки, которые подлежат изменению.
⇡#Super-Sampling Anti-Aliasing
Оригинал Metro 2033 пользовался полноэкранным сглаживанием по методу мультисемплинга (MSAA). Изначально представленный как альтернатива ресурсоемкому суперсемплингу (SSAA), MSAA завоевал популярность в эпоху DirectX 8 и DX9, но в сочетании с современными движками отложенного рендеринга (Deferred Rendering) он вызывает гораздо большее падение производительности, чем раньше. Поэтому в качестве альтернативы в Metro 2033 применяется так называемый Adaptive Anti-Aliasing (AAA) — разновидность технологии FXAA, представляющая собой быстрый фильтр постобработки, сглаживающий «лесенки» на границах полигонов.
А вот MSAA в качестве метода полноценного сглаживания в Metro: LL был отвергнут в пользу старого знакомого — SSAA. Сущность суперсемплинга в том, что изображение рендерится в более высоком разрешении (к примеру, вдвое больше по обеим сторонам при SSAA 4x), а затем масштабируется до разрешения экрана. Как следствие, получаем максимально качественный результат из всех возможных вариантов сглаживания. Падение производительности при этом колоссальное, но при том, как с отложенным рендерингом сочетается MSAA, терять уже нечего. Доступны режимы SSAA от 2x до 4x. И независимо от того, включен ли суперсемплинг, в Metro: LL всегда действует метод AAA. Только в сочетании с SSAA менее выражен недостаток последнего — легкое размытие всего изображения, поскольку AAA применяется еще до масштабирования картинки высокого разрешения.








