Боротьба із графічними недоліками: технологія 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 працює в три етапи:

  1. запускає гру у великій якості
  2. формує кадр
  3. «ріже» зображення до вихідного розміру

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

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-дюймовому екрані, то згладжування вам, ймовірно, не знадобиться. Зображення такої якості буде виглядати ідеально без екранного згладжування.

Як і в багатьох інших випадках в житті, кращий спосіб дізнатися, чи потрібно вам згладжування, — це протестувати різні варіанти.

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

У минулому згладжування було важливим питанням. У деяких випадках більш нові ігри взагалі не вимагають згладжування. Незважаючи на це, важливо знати цей термін, щоб приймати обґрунтовані рішення про балансування продуктивності і візуальних ефектів вашої наступної комп’ютерної гри.

Знання різних алгоритмів також може допомогти вам, якщо ви колиcь вирішите створити свою власну гру.

Долучайтеся до сторінок VOKI Games в соціальних мережах та будьте у курсі свіжих новин компанії 🙂