Strona głównaWiadomościJak poprawić wygląd gier? Antyaliasing w pigułce

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

Poszarpane krawędzie wirtualnych obiektów to zmora graczy. Istnieje kilka metod ich eliminacji, ale czy któraś z nich jest definitywnie najlepsza?

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ść.

Battlefield 4 – w tle wyraźnie widoczne „poszarpane” przewody linii napowietrznej

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

SSAA mocno obniża wydajność i wymaga bardzo mocnej konfiguracji. Aczkolwiek może być dobrym rozwiązaniem w przypadku starszych gier.

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.

Źródło: Sapphire

Bądź na bieżąco

Obserwuj GamingSociety.pl w Google News.

Grzegorz Rosa
Grzegorz Rosa
Redaktor, szef działów gry i audio

ZOSTAW ODPOWIEDŹ

Treść komentarza
Wpisz swoje imię