Борьба с графическими несовершенствами: технология Anti-aliasing в играх

Борьба с графическими несовершенствами: технология Anti-aliasing в играх

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

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

Борьба с графическими несовершенствами: технология Anti-aliasing в играх

Сглаживание в играх: история появления технологии

Anti Aliasing (сглаживание) — алгоритм устранения эффекта «зубчатости» (отчетливо видимых пикселей) на экране. Разработку в 1972 году в Массачусетском технологическом институте представила команда Architecture Machine Group, которая позже стала называться Media Lab — лаборатория, занимающаяся изучением и разработкой в сфере технологий, науки, искусства, дизайна, медицины.

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

Борьба с графическими несовершенствами: технология Anti-aliasing в играх

Так почему же возникает эффект «зубчатости»? 

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

Борьба с графическими несовершенствами: технология Anti-aliasing в играх

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

Главное предназначение сглаживания — борьба за качество изображения в игре. С появлением динамичной картинки будет визуализироваться эффект шума — кривые постоянно перестраиваются, отвлекая от истории, делая картинку низкокачественной. Кроме того, объекты на дальнем плане станут достаточно размытыми. 

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

Один из способов исправить подобные проблемы уменьшить пиксели. Изображение, состоящее из 30 квадратов, выглядит более блочным, чем состоящее из 3000 квадратов. Другими словами, высокое разрешение может помочь в решении вопроса.

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

Виды сглаживания:

  • Общее сглаживание в играх алгоритм отрисовывает большое изображение, потом сжимает его.  
  • Специализированные алгоритмы anti-aliasing в играх работают с изображениями отдельных типов, вычленяя их из общей картинки (короткие отрезки, большие или маленькие элементы, статичные объекты или картинка в динамике и т.д.).

Методы сглаживания начали активно развиваться в начале 2000-х и с тех пор претерпели множество изменений. 

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

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

Современные типы сглаживания в играх

SSAA (Super Sample Anti Aliasing)

Любимый многими и максимально качественный вариант сглаживания, дает четкое изображение. 

Главный минус — опция резко снижает производительность техники. В этом случае видеокарта искусственно увеличивает разрешение экрана, а с появлением картинки кадр уменьшается до исходного вида. 

Например, на экране Full HD (1920×1080) четырехкратный anti-aliasing позволит получить картинку в 4K-качестве (3840×2160)!

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

Технология SSAA реализован в проектах, где ресурсозатратность такого типа компенсируется высокой производительностью игры. Изредка в настройках есть опция SSAA x 0,5: качество изображения падает вдвое, потом увеличивается при появлении на экране. Визуальная часть становится печальной, но производительность игры — растет. 

MSAA (MultiSample antialiasing)

Данная техноллогия — более «легкая» замена SSAA. Применяется в ситуациях, где необходимо сгладить края контрастных сегментов, небольших объектов на заднем плане. Тип сглаживания неэффективен для игр с множеством мелких деталей: текстуры, растения, виды городов. Тогда такой anti-aliasing-прием становится ничем не легче SSAA.

FXAA (Fast approXimate antialiasing)

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

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

MLAA (MorphoLogical AA)

Аналогичная FXAA технология от компании Intel находит резкие переходы цвета и градуирует их. Процесс запускается после появления окончательной версии кадра, поэтому нагрузка идет сразу на центральный процессор устройства. Игра работает так же резво, но размытие картинки остается заметным.

SMAA (Subpixel Morphological AA)

Anti-aliasing технология, созданная по аналогии с FXAA и MLAA. Алгоритм вычисляет и добавляет дополнительные «усредненные» пиксели не только на контрастных участках, но и на тех, которые резко отличаются по яркости. Процесс нагружает непосредственно видеокарту, влияя на производительность игры. Картинка остается такой же размытой, как и в двух предыдущих вариантах.

TXAA/TAA (Temporal AA)

Продукт от компании Nvidia соединила MSAA и SMAA, добавив функцию определения вибрации объектов. Система анализирует предыдущие кадры, сравнивая положение пикселей. Такое сглаживание хорошо работает, если изображение на экране статично. Но как только начинается движение — ресурсозатратность взлетает до небес, появляются визуальные ошибки из-за остаточных кадров из «прошлого», размытие становится очень заметным.

Это самая новая из перечисленных технологий, которая поддерживается только современными видеокартами. 

DSR (Dynamic Super Resolution)

Разработчик видеокарт Nvidia разработал алгоритм, похожий на SSAA. DSR работает в три этапа:

  • включает игру в большом разрешении
  • формирует кадр
  • «режет» изображение до исходного размера

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

CSAA/CFAA (Coverage Sampling AA/Custom-Filter AA)

Вариация на тему MSAA. Получаем картинку качества MSAA x 8, но производительность требует мощности, как для MSAA x 4. Изображение четкое! Алгоритм определяет не только саму «зубчатость», но и соседние пиксели: сглаживание срабатывает для больших объектов, а мелкие детали не размываются. 

Иллюстрация популярных типов сглаживания на примере игры GTA:

Подводя итоги:

  • SSAA — получаем картинку отличного качества, но ощутимо нагружаем видеокарту.
  • MSAA — применяется редко, подходит для игр с крупными объектами в графике.
  • FXAA — края объектов действительно сглаживаются, но настолько, что все изображение размывается.
  • MLAA — алгоритм нагружает процессор, не влияя на комфорт в игре, но картинка «замыленная».
  • SMAA — производительность игры сильно падает, картинка нечеткая.
  • TXAA — отличный вариант для игр, где большинство кадров статичны. 
  • DSR — технология используется редко, большая нагрузка на видеокарту.
  • CSAA/CFAA — получаем картинку отличного качества, в том числе для мелких объектов.

Какой тип antialiasing выбрать, если в игре есть несколько вариантов? Все зависит от вашего «железа». 

Примитивное игровое оборудование, для которого стоит использовать SMAA, CSAA:

  • маломощный процессор и видеокарта
  • оперативная память 8GB RAM и меньше
  • склонность к перегреву и неконтролируемому отключению

Среднее по мощности игровое оборудование, для которого стоит использовать SMAA, MLAA, FXAA, MSAA:

  • мощный процессор и видеокарта
  • оперативная память 8GB RAM и более
  • эффективные элементы вентиляции

Вам придется немного поэкспериментировать, ведь ваш компьютер «не очень хорош для игр, но и не ужасен». Вы определенно сможете запустить SMAA, и, возможно, MLAA или FXAA. Будет ли работать MSAA на приличной скорости вопрос открытый.

Мощное игровое оборудование, для которого стоит использовать SSAA, TXAA, MSAA:

  • игровые процессор и видеокарта
  • оперативная память 8GB RAM и более
  • геймерские кулеры с жидкостным охлаждением

С таким «железом» уверенно запускайте игру на максимальной мощности. Если в игре есть бегунок регулировки степени сглаживания — протестируйте разную степень антиалиасинга, чтобы выбрать идеальный вариант.

Почему методы сглаживания важны для игр?

В последние годы разрешение дисплеев выросло до уровня, при котором пиксели стали невидимыми. Чтобы рассмотреть квадратики даже на обычном 24-дюймовом мониторе с качеством 1080p, нужно приблизиться к экрану вплотную. А означает, что антиалиасинг уходит на второй план, ведь графические процессоры становятся мощнее, а среднее разрешение экранов увеличивается. Сегодня многие старые игры можно прекрасно запускать вообще без сглаживания!

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

Стоит ли отключать Anti-Aliasing?

В многопользовательских играх важна точность до пикселя. А значит качественная картинка даст вам преимущество над соперниками. 

Сглаживание важно в первую очередь тем, что оно влияет на ваше погружение в игру и производительность, ведь никому не хочется отвлекаться на «лесенки» и вспоминать, что все происходящее существует только на мониторе.

Если вы используете разрешение 4K на 27-дюймовом экране, то сглаживание вам, вероятно, не понадобится. Изображение такого качества будет выглядеть идеально без антиалиасинга

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

Загрузите любимую игру и посмотрите, нравится ли вам картинка, как она изменяется с разными настройками, не меняется ли ее производительность. Выбирая настройки сглаживания, помните, что нет идеального типа настройки. Решающим фактором будет ваш компьютер, монитор и требования выбранной игры.

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

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

Подписывайтесь на страницы VOKI Games в социальных сетях, будьте в курсе свежих новостей компании 🙂