Karty graficzne
Artykuł
Piotr Gołąb, Piątek, 8 marca 2019, 14:01

Ray tracing to niewątpliwie najważniejsza z technik wprowadzonych wraz z nowymi kartami GeForce. Nvidia chwali się jednak nie tylko śledzeniem promieni, ale także DLSS oraz Content Adaptive Shading. Niestety, implementacja nowinek w grach trwa długo i wymaga sporo cierpliwości, szczególnie od użytkowników, którzy kupili karty z rdzeniem Turing. Do tematu ray tracingu oraz DLSS niebawem wrócimy, a teraz postanowiliśmy sprawdzić, jak w praktyce wypada trzecia z wprowadzonych niedawno technik.  

Grafika komputerowa cały czas podlega procesowi ewolucji. Staje się coraz bardziej fotorealistyczna. A Nvidia stara się być jedną z wiodących firm w tej dziedzinie. Cały czas rozwija swoje układy graficzne, czego dobrym przykładem jest ich ostatni rdzeń graficzny Turing wypakowany po brzegi nowymi technologiami. Oczywiście, pierwsze miejsca na liście najnowszych i najważniejszych dla Nvidii funkcji zajmują ray tracing oraz DLSS, ale to nie jedyne nowości, które zostały zaimplementowane w nowym rdzeniu Turing.

VRS

W tym artykule chcę przybliżyć czytelnikom, co kryje się pod pojęciem Variable Rate Shading, które oznacza cieniowanie pikseli ze zmiennym współczynnikiem wypełnienia, oraz jakie algorytmy i techniki wchodzą w jego zakres.

Co to jest Variable Rate Shading (VRS) i czy był już wykorzystywany

Zacznijmy od tego, czym jest Variable Rate Shading. Są to techniki, algorytmy cieniowania kolorami poszczególnych pikseli, ale w różnym stosunku. Bez użycia tych technik każdy piksel cieniowany jest osobno, wtedy mówimy o cieniowaniu jeden do jednego. W algorytmach VRS możemy cieniować piksele w różnych stosunkach. W kartach z rdzeniem Maxwell i Pascal dostępne były dwa tryby VRS, dwa do dwóch i cztery do czterech. To oznacza, że w pierwszym przypadku cieniowanie zachodziło od razu na czterech pikselach, a w drugim na szesnastu pikselach. Skutkiem ubocznym takiego cieniowania było pogorszenie jakości obrazu, ale za to możliwy jest zysk na wydajności.

VRS

W poprzednich generacjach kart graficznych Nvidii opartych na rdzeniach Maxwell i Pascal występowały takie techniki, a dwie z nich zasługują na wyszczególnienie. Są to Multi-Resolution Shading (MRS) oraz Lens-Matched Shading (LMS). Obie były wykorzystywane w zastosowaniach VR, żeby optymalizować obciążenie przy cieniowaniu (ang. shading) pikseli. Techniki te były używane głównie w VR, ponieważ wykorzystywane tam systemy soczewek wprowadzają zniekształcenia i obraz nie byłby jednakowy w całym polu widzenia. W centralnym punkcie widzimy szczegółowy obraz, im bliżej krańca pola widzenia, tym obraz jest mniej detaliczny. Nvidia postanowiła to wykorzystać. Techniki MRS i LMS dzielą klatkę obrazu na szesnaście mniejszych części, w których w zależności od potrzeb stosowane jest różne cieniowanie. Jak łatwo zobaczyć na zrzucie ekranu poniżej, tak mała liczba podziałów powoduje utratę jakości obrazu. MRS i LMS

Kliknij by powiększyć

Wraz z wprowadzeniem na rynek kart graficznych GeForce RTX z rdzeniem Turing ulepszono algorytmy VRS. W nowych kartach obraz nie jest już dzielony na szesnaście obszarów, które mogą być cieniowane jedną wartością. Dzielony jest na obszary o wielkości 16x16 pikseli, co w rozdzielczości 1920x1080 przekłada się na 8100 obszarów, w których możemy dokonywać optymalizacji VRS. Dodatkowo w kartach wyposażonych w rdzenie Turing przybyły nowe algorytmy cieniowania. Do podstawowych trzech dodane zostały jeszcze cztery 1x2, 2x1, 4x2, 2x4. Dzięki temu mamy większą kontrolę nad obszarem, w jakim dochodzi do cieniowania.

VRS

W skład Variable Rate Shading (VRS) wchodzą trzy algorytmy.

  • Content Adaptive Shading − zmienia współczynnik cieniowania pikseli w scenach, gdy zmiany koloru w danym obszarze sceny zachodzą powoli.
  • Motion Adaptive Shading − zmianie stopnia cieniowania podlegają poruszające się obiekty lub cała scena, jeśli wykorzystywana jest technika rozmycia ruchu.
  • Foveated Rendering − zmianie stopnia cieniowania podlegają obszary, na których nie skupia się nasz wzrok. Ten algorytm wykorzystywany jest głównie w VR.

VRS

Content Adaptive Shading 

W Content Adaptive Shading wskaźnik cieniowania ulega obniżeniu przez spójność (jednolitość) koloru oraz obszar, na jakim występuje dany kolor w czasie wyświetlania klatki animacji. Współczynnik cieniowania obliczany jest dla poszczególnych obszarów 16x16 pikseli zawsze na końcu generowania aktualnej klatki animacji w procesie postprodukcji i te informacje są wykorzystywane dalej przy tworzeniu kolejnej klatki animacji. Jeśli mamy więc w scenie rejon, który jest relatywnie ubogi w szczegóły, jak na przykład podłoga lub niebo, możemy obniżyć współczynnik cieniowania dla tych obszarów w następnej klatce animacji na podstawie analizy, jaka została dokonana w procesie postprodukcji. Efektem tej analizy jest tekstura 16x16 pikseli, która zawiera informacje, jak ma przebiec proces cieniowania. Jak ten algorytm wpływa na jakość końcową otrzymanego obrazu, pokazujemy na kolejnej stronie (choć według Nvidii nie ma on żadnego wpływu na jakość końcową). Aktualnie tylko jeden tytuł wspiera technikę Content Adaptive Shading − jest to Wolfenstein II: The New Colossus.

Content Adaptive Shading

 

Motion Adaptive Shading 

Jak sama nazwa wskazuje, algorytm Motion Adaptive Shading ma wpływ na obiekty poruszające się. Ale najpierw trochę teorii. Nasze oczy przystosowane są do tego, żeby śledzić obiekty w sposób liniowy, ciągły, dzięki czemu widzimy cały czas wszystkie detale na danym obiekcie. Na monitorach obraz jest inaczej wyświetlany. Obiekt porusza się skokowo z jednej klatki animacji do drugiej, a na wrażenie płynności tego ruchu ma wpływ częstotliwość odświeżania monitora oraz liczba generowanych klatek animacji w ciągu jednej sekundy. Z perspektywy naszego oka, które stara się wygładzić ruch poruszającego się obiektu na ekranie monitora, drży on delikatnie do tyłu i do przodu na naszej siatkówce, przez co tracimy część detali, jakie są na obiekcie. Dlatego widzimy mniej dokładny obraz poruszającego się obiektu. Rysunek poniżej obrazuje ten przypadek

Motion Adaptive Shading

Po lewej stronie widzimy statyczną grafikę. Wyobraźmy sobie, że jest ona wyświetlona na ekranie. Obiekt zaczyna się poruszać i przebywa pewną odległość. Na kolejnej klatce animacji ma pozycję zmienioną względem stanu początkowego − pokazuje to rysunek u góry po prawej stronie.  Szybko zmieniające się klatki nie są jednak dobrze widoczne dla oka ludzkiego. Finalnie wychwyci ono obraz pokazany w prawej dolnej części. Widać wyraźną utratę ostrości. Znając tę zależność, inżynierowie Nvidii zaproponowali następujące rozwiązanie: w przypadku ruchu nie ma potrzeby cieniować każdego piksela oddzielnie, można je cieniować grupami − o ile algorytm odnajdzie obszary takie same lub bardzo podobne. Jeśli obiekt jest bardziej szczegółowy, obszary cieniowania zmniejszane są z 4x4 na mniejsze. Na poniższym wykresie możemy sprawdzić, jak zmienia się współczynnik cieniowania dla Motion Adaptive Shading w przypadku ruchu dla obiektu poruszającego się trzy piksele na klatkę animacji. 

Motion Adaptive Shading

Ten algorytm oczywiście możemy łączyć z pozostałymi dwoma, dodatkowo optymalizując jakość wyświetlanego obrazu, jednak najważniejsze jest to, ze MAS minimalizuje poświatę poruszającego się obiektu. 

 

Foveated Rendering

Ten trzeci z algorytmów wykorzystywany jest głównie hełmach VR i sporadycznie w innych zastosowaniach. Działanie tego algorytmu wykorzystuje to, że nasze oko postrzega najwięcej szczegółów w obszarze, na którym skupiamy wzrok. Detale, które znajdują się na granicy pola widzenia, nie są tak dobrze definiowane. Technika ta śledzi ruch naszych gałek ocznych, wykorzystując tracker (np. Tobi Eye Tracker). Tam, gdzie skupiamy nasz wzrok, obraz renderowany jest z pełnym cieniowaniem, a tam, gdzie w danym momencie nie patrzymy, obraz wyświetlany jest z niższym parametrem cieniowania.

Foveated Rendering

Ocena artykułu:
Ocen: 16
Zaloguj się, by móc oceniać
Duchu (2019.03.08, 14:35)
Ocena: 34

0%
Jestem zachwycony poziomem dwóch ostatnich artykułów na PCL.
Świetnie wytłumaczona problematyka cieniowania i skąd się biorą dodatkowe fps.

Więcej i częściej takich artów panowie.

Pozdr.
deton24 (2019.03.08, 15:06)
Ocena: 0

0%
@up Nic dwa razy się nie zdarza.
Oh wait...
xd
Edytowane przez autora (2019.03.08, 15:06)
Kenjiro (2019.03.08, 15:26)
Ocena: -1

0%
Współczuję, developer ma dużo więcej roboty z implementacją takiego rozwiązania, a gracz ma ledwie kilka procent więcej fps. Spodziewałem się 20 lub więcej procent, a tutaj marne kilka...
GrLT (2019.03.08, 15:32)
Ocena: 13

0%
Kurde... dwa super artykuły, jeden po drugim na PCL... :thumbup:
Oby tak dalej panowie, oby tak dalej!
Myfos (2019.03.08, 15:41)
Ocena: 15

0%
Moim zdaniem nie warto dla tych kilku procent korzystać z tego rozwiązania bo nawet w trybie jakość widać ząbkowania na lunecie w broni.

No i artykuł profeska. Chyba czas zmienić zdanie o pclabie bo czasy pclola już się skończyły ;)
Assassin (2019.03.08, 15:55)
Ocena: 14

0%
Zgadzam się z powyższym. Znikają drobne, ale miłe dla oka detale, jak czytelny napis na broni. Można argumentować, że tego prawie nie widać, ale kto zauważy 2-3 kl./s w ślepym teście? Sama technika wygląda na ciekawą, więc nie wykluczam, że to kwestia zbyt pośpiesznej implementacji.
Pawelek6 (2019.03.08, 16:57)
Ocena: 3

0%
Jakby ktoś był zainteresowany, to tutaj ma odnośnik do testu Digital Foundry na yt:
https://www.youtube.com/watch?v=edYiCE0b8-c
SundayUser (2019.03.08, 20:16)
Ocena: 4

0%
I takich właśnie artykułów oczekuję :) Dzięki.
I cyk adblock na 2 tygodnie off.
Alart (2019.03.08, 22:25)
Ocena: 9

0%
Kenjiro @ 2019.03.08 15:26  Post: 1192867
Współczuję, developer ma dużo więcej roboty z implementacją takiego rozwiązania, a gracz ma ledwie kilka procent więcej fps. Spodziewałem się 20 lub więcej procent, a tutaj marne kilka...

Ojej biedny deweloper. A mógłby spokojnie w domu siedzieć i grać w gry, a w pracy mu każą pracować. ejejejje :(((
losiu (2019.03.09, 09:42)
Ocena: 6

0%
Historia powtarza się....jako parodia.

Kiedyś jak NV (czy ATI) oszukiwała w sterownikach, obniżając jakoś, w celu uzyskania większej wydajności, to było larum na cały świat. A dzisiaj to samo oferowane jest jako feature i postęp technologiczny. Wtedy argumenty były takie same, że tego przecież praktycznie nie widać :E

Brawo marketing. Kiedy mogę oczekiwać gówna w złotym papierku jako następnego hitu na dzielni??
Edytowane przez autora (2019.03.09, 09:46)
Zaloguj się, by móc komentować
Artykuły spokrewnione
Aktualności spokrewnione
Facebook
Ostatnio komentowane