A A A

Jak poprawić wygląd gier? Antyaliasing w pigułce

31 marca 2017, 12:50
Poszarpane krawędzie wirtualnych obiektów to zmora graczy. Istnieje kilka metod ich eliminacji, ale czy któraś z nich jest definitywnie najlepsza?
Jak poprawić wygląd gier? Antyaliasing w pigułce

Zjawisko aliasingu jest najbardziej dokuczliwe, gdy linia krzywa jest widoczna na tle o sporym kontraście. W dużym uproszczeniu powstaje ono z powodu zbyt niedokładnych danych dotyczących danej linii, a więc najczęściej zbyt niskiej rozdzielczości. Aby zlikwidować nieprzyjemne dla oka „schodki", najprościej jest zwiększyć rozdzielczość, w jakiej renderowana jest cała gra. Niesie to jednak ze sobą spore zwiększenie wymagań sprzętowych, a ponadto wymóg posiadania monitora zdolnego wyświetlić odpowiednio wysoką rozdzielczość.

By móc przeciwdziałać zjawisku aliasingu (anti-aliasing, bądź antyaliasing), opracowano algorytmy, które powodują, że staje się ono mniej widoczne, a zarazem nie wpływają na wydajność tak mocno jak zwiększenie rozdzielczości.

SSAA (SuperSampling Anti-Aliasing)

To najstarsza i zarazem najmniej skomplikowana metoda, znana też pod nazwą FSAA (Full-Scene Anti-Aliasing). Polega na wyrenderowaniu obrazu w wyższej rozdzielczości, a następnie zeskalowaniu go do niższej rozdzielczości, w której działa gra. Podczas tego procesu położenie każdego piksela widocznego na ekranie jest obliczane na podstawie kilku próbek.

Skalowanie do niższej rozdzielczości może przebiegać na kilka sposobów. Najpopularniejsze z nich to grid oraz rotated grid.

  • Grid dzieli piksel na kilka sub-pikseli i używa próbek z centrum każdego sub-pikseli, by opracować wynik.
  • Rotated grid jest nieco bardziej zaawansowanym algorytmem. Siatka próbek jest obrócona, by próbki nie zachodziły na siebie. Takie rozwiązanie zazwyczaj potrafi dodatkowo polepszyć jakość anti-aliasingu.

SSAA zapewnia wysoką jakość obrazu i skuteczną redukcję schodków, jednak jest to okupione znaczącym spadkiem wydajności.

MSAA (Multisample anti-aliasing)

Pod kątem wydajności MSAA jest znaczącym usprawnieniem względem SSAA. Mniejsze obciążenie sprzętu zostało osiągnięte poprzez próbkowanie dwóch albo większej ilości sąsiadujących ze sobą pikseli, zamiast każdego z nich indywidualnie w wyższej rozdzielczości. Dzięki temu mogą zostać zastosowane kolejne optymalizacje. Np. jeśli występuje zgrupowanie pikseli o tym samym kolorze, nie wszystkie muszą być całkowicie analizowane - co zdecydowanie zwiększa wydajność.

SSAAx4 oznacza, że każdy piksel potrzebuje czterech próbek. Natomiast w przypadku MSAAx4 niektóre próbki mogą być rozdzielone między sąsiadujące piksele. Niestety zabiegi pozwalające na zmniejszenie zapotrzebowania na moc obliczeniową powodują, że algorytm MSAA bardzo źle radzi sobie z powierzchniami przezroczystymi, które są często stosowane w nowych grach. Dzieje się tak dlatego, że w podwyższonej rozdzielczości odbywa się jedynie rasteryzacja siatek, a cieniowanie i wypełnianie teksturami przeprowadzane są już w rozdzielczości natywnej.

Anti aliasing postprocesowy

Osobnym typem anti-aliasingu są algorytmy działające po zakończeniu renderowania, na poziomie postprocesingu. Ich główną zaletą jest bardzo niewielki wpływ na wydajność.

Tego typu algorytmy występują w kilku odmianach:

  • FXAA (Fast Approximate Anti-aliasing) - powoduje lekkie rozmycie obrazu, co dla niektórych graczy jest nie do przyjęcia;
  • SMAA (Enhanced Subpixel Morphological Antialiasing) - nie rozmywa obrazu aż tak bardzo.

 

Producenci gier czasami na własną rękę opracowują algorytmy anty-aliasingu. Wartymi odnotowania są CMAA z Grid Autosport, AAA z Metro Last Light, czy TAA (Temporal Anti-Aliasing) z Rainbow Six: Siege.

Osoby lubiące eksperymenty mogą skorzystać ze specjalnych programów, które umożliwiają zastosowanie postprocesowych metod wygładzania krawędzi w tytułach, które ich natywnie nie wspierają.

Wpływ na wydajność

Platforma testowa:

Intel Core i5-6600K @ 4,7 GHz

2 x 8 GB DDR4 @ 2800 MHz

Sapphire NITRO Radeon RX 470 8 GB

Radeon Software Crimson Edition 16.10.1


Podsumowując

  • W przypadku słabszych komputerów lepiej postawić na metody postprocesowe, które nie wpływają znacząco na wydajność.
  • Połączenie SSAA / MSAA z metodą postprocesową może okazać się dobrym kompromisem pomiędzy jakością wygładzania krawędzi, a szybkością działania gry.
  • SSAA jest świetną metodą na polepszenie wyglądu starszych, mniej wymagających gier.
  • Jeśli gra nie obsługuje wygładzania postprocesowego, warto spróbować zewnętrznych programów to umożliwiających.
  • W niektórych tytułach wygładzanie postprocesowe wygląda lepiej niż MSAA.

Tagi:
Ocena:
Oceń:
Komentarze (0)

Redakcja nie ponosi odpowiedzialności za treść komentarzy. Komentarze wyświetlane są od najnowszych.
Najnowsze aktualności


Nie zapomnij o haśle!
21 czerwca 2022
Choć mogą się wydawać mało nowoczesne, hasła to nadal nie tylko jeden z najpopularniejszych sposobów zabezpieczania swoich kont, ale także...


Załóż konto
Co daje konto w serwisie pcformat.pl?

Po założeniu konta otrzymujesz możliwość oceniania materiałów, uczestnictwa w życiu forum oraz komentowania artykułów i aktualności przy użyciu indywidualnego identyfikatora.

Załóż konto