Jedną z najczęściej reklamowanych technologii w nowych kartach graficznych od firmy NVIDIA jest DLSS. W tym artykule postaram się wytłumaczyć czym jest DLSS, jakie korzyści ma on oferować i czy warto z niego korzystać.
Czym jest Upscaling?
Zanim przejdziemy do wyjaśnienia samego DLSS, warto najpierw zrozumieć czym jest upscaling. Upscaling to proces podnoszenia rozdzielczości obrazu lub wideo. Zazwyczaj stosuje się go po to, aby dopasować rozdzielczość mniejszego obrazu do potrzebnego wymiaru (np. do ekranu telewizora).
Wyobraźmy sobie, że mamy obrazek o rozdzielczości Full HD (1920 na 1080 pikseli) i chcemy go wyświetlić na telewizorze o rozdzielczości 4K (3840 na 2160 pikseli). Jeśli obraz o rozdzielczość Full HD zostałby przesłany na ekran, to byłby on objęty ogromną czarną ramką. Aby wyświetlić ten sam obrazek na całej powierzchni ekranu, musimy zastosować upscaling. W tym przypadku po prostu mnożymy każdy piksel 4 razy (bo 4K ma 4 razy więcej pikseli niż Full HD) i obrazek już może wypełnić cały nasz ekran. Taka sama zasada występuje przy materiałach wideo oraz grach (no bo w końcu składają się one z wielu pojedynczych obrazków). Warto przy tym pamiętać, że poprzez zwykły upscalingu uzyskamy gorszą jakość niż przy natywnym 4K, bo zwiększenie rozdzielczości nie skutkuje adekwatnym zwiększeniem szczegółowości. Dodatkowo upscaling może potencjalnie doprowadzić do powstania wizualnych artefaktów i innych nieprawidłowości. Upscaling jest dzisiaj domyślnie stosowany na większości telewizorów oraz monitorów. Efekty działania tradycyjnych algorytmów możemy sprawdzić poprzez zwiększenie rozdzielczości dowolnego obrazka w programie graficznym.
Nieco inaczej wygląda sprawa z upscalingiem obrazu przy wykorzystaniu AI. Sztuczna inteligencja jest lepsza w “zgadywaniu” niż większość tradycyjnych algorytmów i dzięki dokładniej analizie obrazu o niskiej rozdzielczości jest ona w stanie dodać do niego szczegóły sprawiając, że obraz potrafi być zbliżony do tego, co zaoferowałoby renderowanie natywne. Efekt działania takiego algorytmu zobaczycie na załączonym zdjęciu z czasów drugiej wojny światowej.
Nvidia DLSS — Upscaling z domieszką sztucznej inteligencji
Deep Learning Super Sampling (w skrócie: DLSS) to autorska technologia Nvidii przeznaczona przede wszystkim do Upscalingu gier w czasie rzeczywistym. DLSS wykorzystuje do swojego działania skomplikowane algorytmu, uczenie maszynowe (AI) oraz informacje o poprzednich klatkach i wektorach ruchu, aby podnieść grę działającą w niższej rozdzielczości do domyślnej rozdzielczości naszego monitora. Poprzez swoje działanie DLSS stara się sprawić, by obraz był jak najbardziej zbliżony do renderowania natywnego. Przykładowo: jeśli mamy monitor 1440p i uruchomimy grę w Full HD, to DLSS będzie umiało odtworzyć obraz tak, aby wyglądał on podobnie do uruchomienia gry w rzeczywistym 1440p (o efektach takich starań opowiadam nieco niżej).
Głównym powodem stosowania DLSS dla graczy ma być zwiększenie płynności gry/FPS. Gdy gra jest uruchamiana w niższej rozdzielczości to karta graficzna/GPU może wyrenderować więcej FPS (co w efekcie doprowadza też do zmniejszenia opóźnień).
Od czasu prezentacji w 2019 roku DLSS przeszło przez kilka większych iteracji. Każda kolejna “duża” wersja dodawała nowe interesujące technologie mające poprawić doświadczenia z gry. Najnowsza “duża” wersja Deep Learning Super Sampling w momencie pisania artykułu nosi oznaczenie 3.5.
Przez specyfikę swojego działania (między innymi analizę poprzednich klatek obrazowy oraz wektorów ruchu, czy zastępowanie domyślnego antyaliasingu) DLSS musi być zaimplementowany bezpośrednio w grze przez deweloperów lub moderów.
Jakie karty graficzne wspierają Nvidia DLSS?
DLSS jest programem zamknięto-źródłowym działającym tylko na kartach graficznych firmy Nvidia. Co więcej, do operowania algorytmów AI firma Nvidia używa specjalnych rdzeni tensor obecnych tylko w kartach graficznych z serii RTX. Oznacza to, że aktualnie funkcję DLSS wspierają:
- Karty graficzne RTX 2000 (RTX 2050, 2060 [Super], 2070 [Super], 2080 [Super], 2080 Ti
- GPU z serii RTX 3000 (RTX 3050, 3060, 3060ti, 3070, 3080, 3090)
- Karty Graficzne RTX 4000 (RTX 4060, 4060ti, 4070 [Super], 4070 Ti [Super], 4080 [Super], 4090)
- GPU z profesjonalnych serii Quadro RTX i RTX A (np. RTX A2000, czy RTX A4000)
Dostępne ustawienia DLSS i jakość obrazu
Przy uruchamianiu DLSS mamy do wyboru kilka opcji graficznych. Konkretnie:
- Opcja Quality — Skala renderowania: 66,7% rozdzielczości monitora; Przy rozdzielczościach wyższych niż 1440p powinna zapewniać jakość porównywalną z renderowaniem natywnym. Przy rozdzielczości Full HD i niższej jakość obrazu w większości przypadków jest nieco gorsza niż renderowanie natywne.
- Opcja Balanced — Skala renderowania: 58% rozdzielczości monitora; Przy rozdzielczościach wyższych niż 1440p zapewnia nieco gorsze wrażenia wizualne niż renderowanie natywne. Przy graniu na monitorze z rozdzielczością Full HD użycie tej opcji skutkuje już zauważalną degradacją obrazu.
- Opcja Performance — Skala renderowania: 50% rozdzielczości monitora; Obiektywnie gorsza jakość obrazu niż przy renderowaniu gry w rozdzielczości natywnej (niezależnie, czy mówimy tu o Full HD, 1440p, czy 4K). Najlepsze efekty uzyskane w rozdzielczości 4K (i wyższej).
- Opcja Ultra Performance — Skala renderowania: 33,3% oryginalnej rozdzielczości monitora; sytuacja podobna do opcji Performance, z dalej idącą degradacją jakości obrazu.
Przy kierowaniu się powyższymi wskazaniami dotyczącymi jakości obrazu, należy pamiętać, że końcowy efekt będzie mocno zależał od wersji DLSS i sposobu implementacji tej technologii. DLSS nie jest bowiem upscalingiem idealnym i czasem może się zdarzyć, że jego włączenie (nawet w najlepszej wersji Quality) zaowocuje artefaktami takimi jak migotanie obiektów na ekranie, czy ghosting. Zawsze po włączeniu DLSS warto DLSS warto więc szybko sprawdzić, czy jesteśmy zadowoleni z uzyskanej jakości obrazu, czy jednak obraz jest na tyle niestabilny, że wolimy pozostać przy renderowaniu natywnym.
Przykłady gier obsługujących DLSS
Tak, jak wspomniałem nieco wyżej: DLSS musi być dodany do gry bezpośrednio przez deweloperów (lub w późniejszym czasie: przez moderów). Obecnie Deep Learning Super Sampling od Nvidii jest oficjalnie obecny w ponad 300 grach i ta liczba rośnie praktycznie z każdym miesiącem.
Jedne z najpopularniejszych tytułów obsługujących DLSS to:
- Alan Wake Remastered i Alan Wake 2
- A Plague Tale:Requiem
- Baldur’s Gate 3
Battlefield 2042 i V - Najnowsze gry z serii Call of Duty
- Chivalry 2
- Control
- Crysis Remastered Trilogy
- Cyberpunk 2077
- Dead Space Remake
- Deathloop
- Death Stranding
- Diablo IV
- Doom Eternal
- Dying Light 2
- Najnowsze gry z serii F1
- Farming Simulator 22
- Final Fantasy XV
- Fortnite
- Forza Horizon 5
- Ghostrunner
- Ghostwire: Tokyo
- God of War
- GTA Trilogy — Definitive Edition
- Hi-Fi Rush
- Hitman: World of Assasintation
- Hogwarts Legacy
- Horizon Zero Dawn
- Hot Wheels Unleashed
- Lies of P
- Marvel’s Spider-Man
- Metro Exodus
- Microsoft Flight Simulator
- Minecraft (tylko wersja Bedrock)
- Monster Hunter:Rise i World
- Mortal Kombat 1
- Palworld
- Portal with RTX
- Rainbow Six Siege
- Ratchet & Clank: Rift Apart
- Red Dead Redemption 2
- Returnal
- Remnant II
- Rise of the Tomb Raider
- Rust
- Shadow of the Tomb Raider
- Tekken 8
- The Last of Us: Part 1
- The Talos Principle 2
- Wiedźmin 3: Dziki Gon
- Uncharted: Legacy of Thieves Collection
- War Thunder
Wzrost wydajności oferowany przez DLSS — testy w grach
Ok, a jaki wzrost wydajności może nam zaoferować DLSS? To zależy głównie od posiadanej konfiguracji oraz konkretnej gry. Czasem włączenie DLSS poskutkuje znaczącą zmianą, a kiedy indziej może się okazać, że włączenie tej funkcji da nam tylko kilka dodatkowych FPS.
Mój zestaw komputerowy na którym testowałem DLSS składa się z:
- Procesora: AMD Ryzen 5 3600
- Karty Graficznej: Nvidia RTX 2060 Super 8 GB
- 16 GB pamięci RAM DDR4 Crucial Ballistix 3200 MHz CL16
- Monitora LG 1440p z odświeżaniem 144 Hz
Poniżej opisuję, jak dokładnie sprawdzało się DLSS w moim przypadku w kilku popularnych grach.
Fortnite
Zacznijmy od Fortnite. Tutaj w kwestiach wizualnych Deep Learning Super Sampling wyglądał dobrze. Po wybraniu opcji Quality obraz był porównywalny z natywną rozdzielczością 1440p przyozdobioną antyaliasingiem w postaci TAA. Na niektórych elementach (np. na cienkich liniach, czy krawędziach balkonów) można było zobaczyć nieco więcej niestabilności, ale szczerze: jeśli bym specjalnie tego nie szukał, to nie zauważyłbym tych różnic w czasie gry. W trybie Balanced artefakty wszelkiej maści były już większe (zwłaszcza w ruchu można było zobaczyć “migotanie” wielu mniejszych obiektów), jednak ostrość i szczegółowość elementów wciąż pozostawała bardzo dobra. Przy Balanced już byłem w stanie stwierdzić, że włączony jest upscaling bez przyglądania się obrazkowi z lupą. Najgorzej wypadło oczywiście ustawienie performance. Tutaj artefakty były widoczne na pierwszy rzut oka, a oddalone elementy miały nieco mniejszą szczegółowość. Przy poruszaniu się pojazdami zauważyłem też nieco mocniejszy Ghosting niż w przypadku innych opcji, ale ogólnie, nie było tragedii.
Jeśli chodzi o wydajność to DLSS w wariancie Quality podniósł średni FPS o 30% (ze 81 FPS na 106 FPS). Znacznie lepszy był też 1% i 0.1% low (odpowiednio: 24 i 64% przyrostu). Przestawiając DLSS na jeden z niższych trybów zmiany niestety były już tylko marginalne. Średnio 109 FPS w trybie Balance oraz Performance, z podobnie zachowującymi się 1% i 0.1% low. Skłania mnie to do konkluzji, że karta graficzna przestała być w tych trybach wąskim gardłem (czyli elementem ograniczającym wydajność). Wszystkie wyniki możecie zobaczyć na poniższym wykresie.
Shadow of the Tomb Raider
Kolejnym tytułem, w którym sprawdziłem skuteczność DLSS był Shadow of the Tomb Raider. Jakość obrazu w tej grze po zastosowaniu DLSS była nieco gorsza niż renderowanie natywne + TAA niezależnie od wybranego ustawienia. Najlepszym był oczywiście tryb Quality, jednak dało się przy nim zauważyć mniejszą szczegółowość elementu, oraz gorszą stabilność obrazu. Wciąż powiedziałbym jednak, że ta opcja była używalna. Im schodziłem niżej, tym artefakty, takie jak migotanie elementów nasilało się coraz niż i tak jak powiedziałbym, że tryb balanced jeszcze był w miarę w porządku, tak osobiście nie chciałbym już grać z wykorzystaniem presetu performance, czy Ultra Performance.
W kwestii wydajności: w Tomb Raiderze po włączeniu trybu Quality zaobserwowałem nieco gorsze efekty, niż w przypadku Fortnite. Tutaj wspomniane ustawienie gwarantowało 14% wyższy FPS niż renderowanie w natywnym 1440p. Tym razem niższe tryby zapewniały jednak nieco lepsze skalowanie: opcja balanced oferowała 24% więcej wydajności niż natywne 1440p, performance dobiło do 28% przewagi, a Ultra Performance zagwarantowało 36% lepszy wynik. 1% low skalowało się dość podobnie, ale 0.1% low pozostało na poziomie porównywalnym z pierwszym testem. Osobiście przy tej grze pozostałbym przy rozdzielczości natywnej lub włączył DLSS w trybie Quality.
Wiedźmin 3: Dziki Gon
Ostatnią przetestowaną przeze mnie grą był Wiedźmin 3: Dziki Gon z najnowszą aktualizacją wspierającą API DX12.
W kwestii jakości, to chyba najlepszy przypadek jak do tej pory. DLSS w wariancie Quality w Wiedźminie 3 wygląda bardzo, ale to bardzo podobnie do natywnego renderowania. Szczegółowość pozostaje praktycznie taka sama (nawet powiedziałbym, że nieco wygrywa pod tym względem DLSS) a największe artefakty upscalingu pojawiają się w postaci lekkiego smużenia sieci rybackich przy ich szybkim omijaniu (będąc szczerym: raczej nie zauważymy tej zmiany przy normalnym graniu). Co ciekawe DLSS nieco lepiej radzi sobie z zachowaniem stabilności krawędzi budynków czy pomników. Suma summarum powiedziałbym, że DLSS w tym wariancie dorównuje lub nieco przewyższa renderowanie natywne wygładzane przez TAA.
Niższe ustawienia sprawiają już gorsze wrażenia. Balanced sprawia, że wiele elementów graficznych jest mniej stabilnych. Wciąż jednak mówimy tu o różnicach niuansowych, więc tego trybu nie skreślałbym kompletnie.
Presety Performance i Ultra Performance raczej nie otrzymałyby mojej nagrody za najlepiej działający upscaling wszech czasów. Stabilność staje się dużo gorsza niż przy Balanced/Quality i często spotykamy się z efektami smużenia. Szczegółowość również jest gorsza, przy szybkich ruchach pojawia się wyraźny ghosting i (przynajmniej w moich testach) po wybraniu tych trybów co jakiś czas pojawia się jedna-dwie czarne klatki.
Wręcz genialna wyglądała za to sprawa wydajności. Już po wybraniu ustawienia Quality średni FPS podskoczył z 43 na 68 (czyli aż o 58 procent!). Oznaczało to, że z DLSS gra przeszła z w miarę grywalnej, do bardzo płynnej przy zachowaniu praktycznie tej samej jakości obrazu. Wyniki dla pozostałych trybów możecie sprawdzić na wykresie załączonym poniżej.
Czy i kiedy warto włączać DLSS?
Jak widać po powyższych przykładach dotyczących wydajności oraz jakości obrazu: DLSS w wersji Quality warto włączyć w większości kompatybilnych gier, o ile mamy wspierane GPU a nasz monitor ma rozdzielczość 1440p lub wyższą i odświeżanie, które jest w stanie wyświetlić dodatkowo wyrenderowane klatki. W takiej konfiguracji otrzymujemy jakość tylko nieco gorszą lub porównywalną z renderowaniem natywnym, ale nasza gra jest płynniejsza o 15-60%.
W przypadku niższych opcji DLSS i uruchamiania tej funkcji na monitorach o rozdzielczości Full HD sprawa wygląda już trochę inaczej. Przy takich konfiguracjach DLSS wciąż jest w porządku, ale już po kilku minutach grania da się zobaczyć różne problemy typu: smużenie elementów (zwłaszcza cienkich lin, ogrodzeń, czy linii wysokiego napięcia), ghosting, czy po prostu niższą szczegółowość. W takiej sytuacji personalnie wolałbym najpierw przesunąć kilka innych suwaków w lewą stroną, ale wszystko tak naprawdę będzie zależało od gry, aktualnie uzyskiwanej wydajności bez upscalingu, czy nawet wrażliwości danej osoby na wspomniane artefakty.
Jak włączyć Deep Learning Super Sampling w grze?
Włączenie DLSS w kompatybilnym tytule jest bardzo proste. W tym celu wystarczy tylko, że wejdziemy do ustawień, przejdziemy do zakładki grafika/wyświetlanie i znajdziemy opcję zatytułowaną “DLSS”/“Deep Learningu Super Sampling”/Upscaling/Super “rozdzielczość”/”Antyalliasing” (nazwa będzie różnić się w zależności od gry). Zmieniamy jedną ze wspomnianych opcji na DLSS Quality/Balanced/Performance lub Ultra Performance i zapisujemy zmiany. Po ponownym wejściu do gry powinniśmy zobaczyć sporą zmianę w FPS (oczywiście na plus).
DLSS 3 — Interpolacja klatek ze wsparciem AI
Wraz z wprowadzeniem DLSS wersji 3.0 Nvidia dodała nową funkcję do swojego upscalera, którą jest Frame Generetion = interpolacja = tworzenie nowych sztucznych klatek przy wykorzystaniu sztucznej inteligencji. W nieco prostszym tłumaczeniu: po włączeniu funkcji generowania klatek w DLSS 3, algorytm skanuje poprzednie klatki oraz wektory ruchu, na tej podstawie tworzy nowy w miarę poprawny obrazek i wkleja go pomiędzy dwie rzeczywiście wyrenderowane klatki. Takie zachowanie sprawia, że po włączeniu Interpolacji klatek FPS w grze może zostać zwiększony o trochę ponad 50%.
Brzmi zbyt dobrze, żeby było prawdziwe? No cóż, jest w tym trochę racji. Aktualnie technologia automatycznego generowania klatek ma bowiem kilka sporych wad:
- Klatki generowane przez AI wyglądają gorzej niż te rzeczywiście renderowane przez kartę graficzną. Oznacza to, że jeśli mamy mało FPS (np. 30) i użyjemy DLSS 3 Frame Generation to te gorsze klatki będą wyświetlane na tyle długo, że zobaczymy (potencjalnie sporą) różnicę w jakości obrazu, w porównaniu z renderowaniem natywnym, czy nawet DLSS bez interpolacji.
- DLSS 3 pomimo zwiększenia FPS nie zmniejsza, a zwiększa ogólne opóźnienia. Oznacza to, że płynność gry rzeczywiście jest lepsza, ale jej responsywność może stać się gorsza. Przykładowo przy użyciu upscalingu DLSS w trybie Quality i włączeniu Frame Generetion ogólne opóźnienia stają się zbliżone do tego, co zobaczylibyśmy przy renderowaniu natywnym (ze znacznie niższym FPS).
- DLSS 3 jest dostępne tylko i wyłącznie na najnowszych kartach graficznych Nvidii z serii 4000 (np. RTX 4070 Super).
Jak widać DLSS 3 nie będzie technologią idealną dla wszystkich, ale nie ma co ukrywać, że w niektórych przypadkach może rzeczywiście poprawić wrażenia z gry. Osobiście nie miałem jeszcze okazji testować samego DLSS 3, ale według recenzentów, których szanuję: DLSS 3 najlepiej sprawdza się, gdy gramy w wolniejszą grę (takiej gdzie opóźnienia nie liczą się tak bardzo), mamy około 100-120 FPS i monitor z bardzo wysokim odświeżaniem (np. 240 Hz, lub 360 Hz). W takiej konfiguracji artefakty spowodowane przez wyświetlanie gorszych halucowanych przez AI klatek będą praktycznie niewidoczne, a my uzyskamy rzeczywiście lepszą płynność (z nieco gorszymi opóźnieniami).
Tak samo, jak poprzednie wersje DLSS, wariant 3 z generowaniem klatek musi być zaimplementowany bezpośrednio w grze przez dewelopera.
Deep Learning Super Sampling 3.5 — lepsze odbicia promieni
W najnowszej wersji DLSS — 3.5 Nvidia dodała nową funkcję rekonstrukcji promieni. Używa ona AI do lepszego dostrojenia odbić oraz źródeł światła, w których grach, w których został włączony Ray Tracing. Sprawia to, że gry z włączonym Ray Tracingiem wyglądają jeszcze lepiej (często poziom wizualny po włączeniu DLSS 3.5 jest podobny do pełnego path tracingu). Funkcja rekonstrukcji promieni dostępna jest w kompatybilnych grach dla wszystkich układów GeForce RTX.
DLSS vs AMD FSR i Intel XeSS — krótkie porównanie alternatyw
Po wydaniu DLSS konkurenci Nvidii nie mogli oczywiście stać z założonymi rękami i po kilku latach przygotowali swoje własne odpowiedniki technologii Deep Learning Super Sampling. Obecnie najlepsze z nich to:
- AMD FSR — Otwarto-źródłowa technologia upscalingu, która jako jedyna w tym zestawaniu wykorzystuje standardowe algorytmy zamiast sztucznej inteligencji. Zazwyczaj oferuje podobny wzrost wydajności, co DLSS, ale cechują się troszkę gorszą jakością obrazu (wiele zależy też tutaj od samej gry). Oprócz upscalingu FSR w wersji 3 wspiera też generowanie klatek (bardzo podobne do funkcji interpolacji znanej z DLSS, ale znowu: z nieco gorszą jakością obrazu). Sporą zaletą FSR jest to, że może ono działać praktycznie na dowolnej karcie graficznej. Oficjalnie wspierane są karty graficzne z serii AMD Radeon RX 400/Nvidia GTX 1000 i nowsze.
- Intel XeSS — Konkurent DLSS od firmy. Tak samo, jak w przypadku technologii od zielonych, przy podnoszeniu rozdzielczości wykorzystywane są tutaj algorytmy oparte o sztuczną inteligencję. Sprawia to, że w większości optymalnych przypadków (w miarę wysoka rozdzielczość monitora + tryb quality/balanced) otrzymujemy bardzo dobrą jakość obrazu (choć wciąż troszkę odbiegającą od samego DLSS). XeSS podobnie jak FSR może być uruchomione na kartach graficznych wszystkich popularnych producentów, a nie tylko od Intela. Aktualnie XeSS nie posiada wersji zdolnej generować dodatkowe sztuczne klatki.
U siebie porównałem wszystkie 3 powyższe technologie w grze Wiedźminie 3, używając trybów Quality i tak: DLSS był najlepszy, oferując najlepszą szczegółowość i suma summarum najmniej artefaktów, niedaleko za nim był XeSS z podobną liczbą szczegółów, ale z nieco większym smużeniem w ruchu, najgorszy (ale wciąż bardzo dobry) w moim przekonaniu był FSR, który dawał niezłą szczegółowość, ale przy szybkich ruchach sprawiał, że było widoczne nieco Ghostingu. Muszę tutaj jednak zaznaczyć, że wspomniane różnice pomiędzy 3 technologiami są relatywnie niskie i wszystkie techniki potrafiły zapewnić porządną jakość obrazu przy znacznym zwiększeniu płynności w grze. Poniżej zostawiam kilka grafów z porównaniem FPS przy różnych trybach działania.
Wydajność DLSS vs. FSR vs. XeSS tryb Quality (66,7% oryginalnej rozdzielczości):
FPS DLSS vs. FSR vs. XeSS tryb Balanced (około 58% oryginalnej rozdzielczości):
Wydajność DLSS vs. FSR vs. XeSS tryb Performance (50% natywnej rozdzielczości):
Podsumowanie
I to już wszystko, co musicie wiedzieć o technologii Nvidia DLSS. Dajcie znać w komentarzach, czy używacie tego upscalingu u siebie i czy Waszym zdaniem zapewnia on gorszą, lepszą czy też porównywalną jakość z renderowaniem natywnym!
Dodaj komentarz