
Taki generator klatek to ja rozumiem! Testy DLSS 4.5 z dynamicznym MFG x6
NVIDIA pod względem generatora klatek jest wyjątkowo nieustępliwa i konsekwentnie wdraża w życie jego kolejne wcielenia. Tym razem posiadacze kart GeForce RTX 50 będa mogli aktywować generowanie nawet pięciu dodatkowych klatek i to w sposób dynamiczny - czy ma to sens?
NVIDIA DLSS Frame Generation, które zadebiutowało ponad 3 lata temu wraz z kartami Ada Lovelace, to technologia, która po dziś dzień wzbudza skrajne emocje. Jedni jej nienawidzą, dopatrując się w niej zbyt dużego uproszczenia oraz zbyt wielkich kompromisów, a inni po prostu cieszą się z płynniejszej gry, nawet jeżeli odbywa się to kosztem marginalnego (w ich mniemaniu) pogorszenia spójności oprawy wizualnej oraz obniżenia responsywności samej gry. Zasadniczo obie strony mają rację - generatory klatek zawsze pozostaną pewnym kompromisem, choć trzeba przyznać, że kolejne wcielenia tej technologii pokazywane przez NVIDIĘ (a potem skrzętnie kopiowane przez ich konkurentów) coraz bardziej tę kompromisowość redukują.
Karty Blackwell ponad rok temu wprowadziły możliwość generowania nawet do trzech pośrednich klatek bez odczuwalnego pogorszenia responsywności względem klasycznego generatora. Rok po ich premierze, gdy wszyscy spodziewali odświeżonych kart z dopiskiem Super, NVIDIA uznała, że lepszym pomysłem będzie skupienie się na rozwoju generatora klatek i tak oto karty z serii RTX 50 z końcem marca nabędą zdolność do generowania aż pięciu pośrednich klatek. To jednak nie wszystko, ponieważ teraz karta automatycznie będzie dobierać mnożnik generatora, tak aby zawsze oscylować blisko maksymalnego poziomu odświeżania naszego monitora. Dzięki temu zawsze ujrzymy maksymalnie dużo klatek renderowanych na podstawie silnika gry (tych podobno bardziej prawdziwych klatek), co oznacza też, że opóźnienia utrzymają się na niższym poziomie.
A to nadal nie wszystko, jako że nowy model DLSS Frame Generation wprowadza również znaczną poprawę w obrębie obsługi interfejsu użytkownika w grach. W tej kwestii NVIDIA od samego początku miewała problemy i elementy, takie jak celowniki albo paski zdrowia czy też kompasy nawigacyjne notorycznie ulegały bardzo dobrze dostrzegalnym artefaktom. Teraz, w przypadku przynajmniej części gier, problem ten rozwiązano, razem z ogólną poprawą jakości generowanych klatek. Zapraszam teraz do omówienia testów, które udało mi się przeprowadzić na wersji beta aplikacji NVIDIA, na kilka dni przed oficjalną premierą nowej technologii. Omówimy kwestię wzrostów płynności, opóźnień (renderowania oraz tych całkowitych) oraz właśnie jakości prezentowanego obrazu.
DLSS 4.5 Dynamic MFG - spis treści:
- Czym jest, jak działa i gdzie aktywować DLSS Dynamic Multi Frame Generation;
- Jak użytkownik odczuwa dynamiczną pracę DLSS MFG - testy na monitorze 500 Hz;
- Testy płynności i opóźnień renderowania;
- Testy opóźnień rzeczywistych (ETE z pomocą LDAT);
- Jakość obrazu w generowanych klatkach - testy z kamerą 1000 FPS;
- Czy i kiedy warto aktywować DLSS Dynamic MFG
Pomysł jest prosty, ale wykonanie bardzo skomplikowane
Za powstaniem pierwszego generatora klatek stoi irytacja NVIDII wywołana zbyt wolnym rozwojem procesorów dla graczy - podczas premiery GeForce RTX 4090 praktycznie nie istniał procesor zdolny ujarzmić jej potencjał i podobnie sytuacja wygląda obecnie w przypadku RTX 5090. Jednocześnie monitory dla graczy przeżywają obecnie prawdziwy renesans i czuć, jak bardzo marnuje się ich potencjał w przypadku ograniczania się tylko do klasycznych technik renderowania klatek. Dlatego też opracowano technologię, która pozwoli wykorzystać stale rosnącą wydajność rdzeni Tensor na kartach NVIDII do wspomagania procesu generowania kolejnych klatek - już nie tylko na zasadzie upscalingu, ale też obliczania całych klatek pośrednich.
Nie jest to jednak zwykłe “upłynnianie” znane chociażby z telewizorów. W przypadku gier karta graficzna ma dużo więcej informacji i znacznie mocniejsze jednostki do dyspozycji. Obraz pośredni powstaje na podstawie klatki wygenerowanej przez silnik gry, informacji od wektorów ruchu oraz ich własnego Akceleratora Przepływu Optycznego (w obu przypadkach karta otrzymuje informacje o tym, jakie obiekty występują na scenie i w jaką stronę podążają pomiędzy kolejnymi klatkami). Karty NVIDIA Blackwell (seria GeForce RTX 50) zostały dodatkowo pod tym kątem zoptymalizowane i potrafią dokonywać znacznie bardziej precyzyjnych oraz szybszych obliczeń, dzięki czemu zamiast jednej klatki pośredniej mogą niewielkim kosztem obliczeniowym (a zatem w krótkim czasie) opracować dane dla nawet kilku takich klatek - wraz z obecną aktualizacją liczba ta wzrasta do pięciu klatek.
Samo wygenerowanie pośrednich obrazów to dopiero połowa sukcesu - znacznie bardziej istotne jest odpowiednie wpasowanie ich w czasie, jaki występuje pomiędzy dwoma klatkami z silnika gry, które w pocie czoła generują rdzenie CUDA. To problem, z którym do dziś nieszczególnie poradziło sobie AMD w przypadku generatora z pakietu FSR i jeżeli nie utrzymujemy stabilnej ilości FPS, to ta jedna jedyna dodatkowo generowana klatka zwykle jest wyświetlana znacznie bliżej jednej lub drugiej klatki z silnika gry, dając efekt odwrotny od zamierzonego (pojawiają się przycięcia obrazu). Karty GeForce w serii Blackwell wprowadzają w tym celu Flip Metering - sprzętową technologię precyzyjnego odmierzania czasu wyświetlania klatek, która pozwala na idealne dopasowanie wszystkich klatek wygenerowanych przez rdzenie Tensor pomiędzy te wygenerowane przez rdzenie CUDA (z silnika gry).
Co to oznacza w praktyce? Karta czeka z prezentowaniem wygenerowanej klatki do momentu uzyskania informacji o klatce następującej oraz informacji z Akceleratora Przepływu Optycznego i dopiero wtedy zaczyna generować klatki pośrednie równolegle z generowaniem tej klatki następującej (z silnika gry). Dzięki temu obraz staje się znacznie płynniejszy, ale też rośnie opóźnienie, z którym ten obraz jest wyświetlany (później widzimy reakcję na nasze działanie na ekranie). Wzrost opóźnień jest zależny w głównej mierze od bazowej ilości FPS (zatem tego, jak szybko rdzenie Tensor otrzymają informacje o kolejnej klatce), ale też od wybranego mnożnika MFG - każdy kolejny poziom dokłada 2-3 ms opóźnienia. Łatwo tutaj dojść do słusznego wniosku, że generowanie klatek w taki sposób ma sens TYLKO w sytuacji, gdy fizycznie możemy je wyświetlić - zatem gdy nasz monitor jest zdolny równie szybko się odświeżać.
O ile dostępne są już monitory z odświeżaniem nawet przekraczającym 500 Hz, tak większość użytkowników nadal korzysta z paneli odświeżanych z częstotliwością 240-360 Hz (albo takie monitory obecnie wybiera), co podważa sens używania mnożników większych niż x3/x4, a są też sytuacje, w których gra znacznie mniej obciąża GPU i FPS wzrasta tak mocno, że nawet podstawowe x2 wystarczy, aby dobić do limitu odświeżania. Dlatego też NVIDIA opracowała dynamiczne modyfikowanie mnożnika MFG - rdzenie Tensor analizują aktualny framerate w kontekście możliwości monitora (lub naszych własnych wytycznych) i generują tylko tyle dodatkowych klatek, ile monitor jest w stanie wyświetlić. Gracz dostaje stabilną płynność animacji w połączeniu z możliwie najniższymi (dla danej sytuacji) opóźnieniami i ma pewność, że żadna klatka wygenerowana przez rdzenie CUDA (ta z silnika gry) nie wypadnie poza zakres tych faktycznie wyświetlanych.
Oczywiście takie rozwiązanie wymaga w pierwszej kolejności implementacji DLSS MFG (klasycznego) w samej grze i docelowo też dodania sterowania nim z poziomu ustawień gry (aktywacji dynamicznego mnożnika). Przyszłe gry będą z pewnością w taki “przełącznik” doposażane (a możliwe, że starsze gry dostaną stosowną aktualizację), ale na ten moment, gdy DLSS Dynamic MFG dopiero startuje, żadna gra jeszcze go natywnie nie wspiera i technikę tę trzeba aktywować z poziomu Aplikacji NVIDIA z osobna dla każdej gry. Lista tytułów startowych jest dosyć pokaźna, choć przed premierą dostęp miałem tylko do kilku tytułów na niej obecnych. Wystarczy wejść w ustawienia “Grafika” z menu po lewej stronie aplikacji, wybrać interesującą nas grę i w pozycji “Nadpisywanie DLSS - Tryb Generowania Klatek” wybrać “Dynamiczne”. Tam też można ustalić maksymalny mnożnik oraz wartość FPS, do której ma technika dążyć (domyślnie to automatycznie odczytane odświeżanie monitora).
Przełączanie trybów jest całkowicie nieodczuwalne
Starczy już tej teorii i pora na wnioski z testów. DLSS 4.5 Dynamic Multiframe Generation x6 testowałem na karcie graficznej NVIDIA GeForce RTX 5080, którą wspierał podkręcony Ryzen 7 9800X3D i do której podpięty został monitor Samsung Odyssey OLED G6. To ostatnie jest tu szalenie istotne, jako że to panel QD-OLED o rozdzielczości 2560x1440 px i odświeżany z częstotliwością aż 500 Hz! Na takim monitorze praktycznie żadna klatka się nie marnuje, a natychmiastowy czas reakcji pikseli organicznych sprawia, że obraz może być krystalicznie czysty w ruchu. Otóż właśnie może być, jeżeli monitor nakarmimy odpowiednią ilością FPS - przy 120 FPS to nawet OLED ostry nie będzie :)
Do testów wykorzystałem trzy gry, w których nawet tak mocarna karta wspomagana przez upscaling w trybie wydajnym nie pozwoli przekroczyć znacząco granicy 100 FPS po aktywowaniu wszystkich ustawień graficznych (w szczególności Path Tracingu). Przy czym jedna z gier, przynajmniej momentami, jest od tej reguły odstępstwem i pozwoliła mi sprawdzić działanie samego mechanizmu dobierania mnożnika - mowa o Hogwarts Legacy, które w obszarach zamkniętych (zamek, wnętrza domów, jaskinie) oferuje zwykle dwukrotnie wyższy FPS niż na otwartej przestrzeni oraz nawet trzykrotnie wyższy niż podczas przechadzki ulicami wioski Hogsmeade.
Próbowałem na różne sposoby wychwycić jakiś moment przełączenia się pomiędzy MFG x4, a MFG x5 i MFG x6, ale niestety - nic z tego. Jeżeli klatki konsekwentnie spadną poniżej zadanego poziomu, to mnożnik wzrasta (jeżeli jeszcze może), a gdy ponownie wzrosną i stabilnie utrzymują się powyżej zadanego celu (np. wartości odświeżania), to mnożnik spada. Ten moment “nadmiaru” lub “niedomiaru” FPS nie trwa zwykle nawet sekundy i zmiana następuje całkowicie niedostrzegalnie dla gracza, za wyjątkiem może kwestii wzrostu opóźnień - te wahają się od 30 ms, do nawet 60 ms (lub od 20 ms do 45 ms podczas grania bez MFG) co już da się odczuć, ale i tak jest to znacznie mniej dokuczliwe niż spadek FPS z 200 na 70, gdy gramy bez MFG. Zatem to, co pierwotnie uznałem za delikatną wadę dynamicznego MFG, okazało się być jego zaletą - gra utrzymuje znacznie stabilniej stały FPS, a to dla naszego oka i wrażeń z gry jest znacznie istotniejsze.
Powiem wręcz, że teraz nie wyobrażam sobie grania w Hogwarts Legacy bez aktywnego Dynamicznego MFG - do tego stopnia poprawia wrażenia z rozgrywki (a do tego sam obraz jest oczywiście ostrzejszy w ruchu, co wynika z ilości FPS, jakie dostaje tak szybki monitor). To samo poczujecie grając na słabszej karcie - przykładowo na GeForce RTX 5070 podpiętym do monitora z odświeżaniem 240-360 Hz - zamiast spadków do 40 FPS, stale utrzymacie ponad 200 FPS, nawet z aktywnym śledzeniem promieni.
Ilość klatek, jakie osiągamy z Dynamicznym MFG momentami zatrważa
Testując samą wydajność byłem realnie pod ogromnym wrażeniem, ile można wykrzesać z połówki pełnego rdzenia Blackwell (zatem ze wspomnianego RTX 5080) i to pomimo aktywowania absolutnie wszystkiego, co te bardzo wymagające gry mają do zaoferowania. Zacznijmy od już leciwego, ale dalej wzorcowego dla branży Cyberpunk 2077 w trybie RT Overdrive (pełen Path Tracing). Tutaj grając bez wspomagania się żadną z technik NVIDII (również bez NVIDIA Reflex) pod względem wydajności gra się “jak na konsoli” (z tym, że na konsolach nawet nie wiedzą, co oznacza Path Tracing) - mamy w porywach 40 FPS i opóźnienia przekraczające 100 ms, co już zdecydowanie utrudnia grę. Korzystając z samego Super Resolution (na nowym modelu transformacyjnym M) w trybie Wydajność można przekroczyć barierę 100 FPS, ale to dalej zdecydowanie zbyt mało, aby uzasadnić zakup monitora z odświeżaniem 360-500 Hz. Tu do gry wchodzi DLSS MFG i, jak widać, faktycznie przekraczamy 400 FPS. Co jednak istotniejsze, dalej mamy opóźnienia na poziomie grania bez generatora klatek, tylko że przy 70 FPS z samym DLSS w trybie Jakość.
Kolejna gra to o tyle ciekawy przypadek, że jest to gra na API Vulkan, a te (na ten moment) nie obsługują dynamicznego MFG. Niemniej i tak można w niej wymusić mnożnik MFG x6 z poziomu NVIDIA App. Po co zatem postanowiłem ją testować? Otóż w jej przypadku po aktywowaniu pełnego śledzenia promieni wydajność zwykle spada tak mocno, że nawet na większości kombinacji karta-monitor nie będzie potrzeby dynamicznego zarządzania mnożnikiem. Jak widać poniżej, MFG nie generuje tu znaczącego wzrostu opóźnień i nawet przy MFG x6 z bazowych 80 FPS udaje się zachować je poniżej 50 ms (w moim przypadku to granica, powyżej której zaczynam odczuwać, że opóźnienia wzrastają - wszystko poniżej jest dla mnie nierozróżnialne). A wierzcie mi, że nawet tak starym okiem, jak moje, różnicę pomiędzy płynnością oferowaną przez 80 FPS a 300 FPS widać bardzo dosadnie.
Na koniec najciekawszy przypadek, czyli wracamy do Hogwartu. To gra idealna dla techniki generowania klatek, jako że jej optymalizacja pod względem komunikacji karta-procesor leży i kwiczy. RTX 5080 podczas testu w Hogsmeade nawet w najwyższych ustawieniach nie był obciążony w więcej niż 70-80%, co widać też po wynikach na różnych trybach samego upscalingu (nic on nie wnosi). Czy zatem jestem skazany na kaleczenie oczu grą poniżej 100 FPS i mogłem zostać na 20-letnim monitorze 120 Hz? Otóż właśnie tutaj całe na zielono wchodzi DLSS Multi Frame Generation i BEZ wzrostu opóźnień pozwala przekroczyć 360 FPS płynności animacji (a w obszarach zamkowych stałe 500 FPS z dynamicznie dobieranym mnożnikiem)! Oczywiście - gra nie staje się bardziej responsywna, ale dla naszych oczu obraz wygląda “jak żywy” i podczas gwałtownych ruchów myszką nadal pozostaje bardzo ostry.
Odczyty z aplikacji nie kłamią - opóźnienia wzrastają tylko minimalnie
Podczas prowadzenia testów zaskoczyło mnie, jak mało wzrastają opóźnienia - ostatecznie proces generowania klatek pośrednich do prostych rzeczy nie należy, a tu zwykle dostajemy dodatkowe 10 ms opóźnienia, które można uznać za bez znaczenia (przynajmniej w moim przypadku - gdyby nie odczyty aplikacji, to uznałbym, że opóźnienia pozostały bez zmian). Postanowiłem zatem sprawdzić niezależnie te opóźnienia z pomocą sprzętowego pomiaru opóźnienia - od kliknięcia po zmianę stanu pikseli na monitorze. Przypominam, że testowany monitor to OLED z input lag na poziomie 2,5 ms i z <0,5 ms czasem reakcji pikseli, zatem on w tym procesie zbyt wiele nie dokłada, podobnie jak sam “klikacz” podpięty przez USB. Rezultat? Testy z pomocą NVIDIA FrameView pokrywają się z realnymi testami optycznymi.
Pomiary z użyciem sondy światłoczułej LDAT w Cyberpunk 2077:





Testy w Cyberpunk 2077 - QHD, RT Overdrive.
Pomiary z użyciem sondy światłoczułej LDAT w Hogwarts Legacy:



Testy w Hogwarts Legacy - Ultra + Max RT.
Artefakty są, ale i tak ich nie dostrzeżesz
Na koniec pozostaje kwestia analizy obrazu. Tutaj ponownie moje własne oczy mnie z grubsza zawiodły. Teoretycznie w Hogwarts Legacy, jak się skupię, to dostrzegam zawirowania wokół tak zwanej “de-okluzji” (sytuacji, w której jeden obiekt w ruchu odsłania inny - wtedy generator nie bardzo ma skąd brać informację dla klatek pośrednich), ale to tylko dlatego, że wiedziałem, aby na to zwracać uwagę. Co więcej, przy blisko 400 FPS te artefakty są na tyle drobne, że do końca nie byłem pewien, czy wynikają z MFG, czy po prostu ze specyfiki działania gry (bufor głębokości też nie działa natychmiastowo). Aby jednak oddać sprawie adekwatny poziom atencji, wyposażyłem się w kamerę nagrywającą z szybkością 1000 FPS i przygotowałem kilka porównań w Cyberpunku. Z góry wybaczcie za ostrość i jakość nagrania - przy takiej szybkości okazuje się, że panele OLED generują “ciut mało” światła. Niemniej to, co istotne, jest widoczne.
Film ten pokazuje dwie rzeczy - pierwsza to to, że artefakty istnieją i kolejno generowane klatki mają problem z wypełnieniem zbyt dużych luk w obrazie - dotyczy to jednak tylko ekstremalnie szybkich ruchów, które dla naszego oka i tak są całkowicie rozmazane. Obiekty poruszające się w “normalnej” prędkości, gdy gra dostarcza te 60-80 FPS, mają przesunięcie na tyle nieduże, że generator perfekcyjnie wypełnia luki. Druga kwestia, którą też dobrze widać na filmie, to idealne dawkowanie klatek - tak zwany “frame pacing”. Odstęp pomiędzy klatkami z generatora (oraz tymi generowanymi przez rdzenie CUDA) jest idealnie dopasowany, dzięki czemu mamy to poczucie płynności adekwatne do ilości wyświetlanych FPS.
Ostatnia kwestia, o której w sumie zaskakująco mało się mówi, to pojawienie się nowego presetu (modelu) dla generatora klatek. Jest to Preset B (jako że ten oryginalny teraz nazwano Preset A) i pozwala on uwzględnić informacje z gry o interfejsie - analogicznie jak ma to miejsce w technice AMD FSR Frame Generation. Przez to elementy, takie jak celownik, minimapa czy też ogólnie różne ikony interfejsu nie są brane pod uwagę przy generowaniu klatek (pozostają przekopiowane z klatki generowanej przez silnik gry). Tu za bardzo nie ma czego pokazywać - w grach, które udostępniają te informacje dla sterownika problem z “migotaniem” interfejsu po prostu przestał występować.
Generator klatek w DLSS 4.5 w końcu sprostał oczekiwaniom graczy
Przyznam, że nigdy nie należałem do grupy graczy, którzy z urzędu odrzucali używanie generatora klatek obrażeni faktem, że ktoś ośmiela się nadmiernie optymalizować proces generowania obrazu. W ostatnich latach kilka gier przeszedłem ciesząc się wzrostem płynności z pomocą właśnie (M)FG. Jednocześnie też zawsze uważałem, że nie jest to technologia pasująca do każdej gry i Dynamiczny MFG x6 tej opinii nie zmienił. W grach, w których kluczowa jest responsywność i szybkość reakcji na to, co robią inni gracze (to jest w grach online na poziomie zawodniczym) wszystkie generatory klatek wnoszą więcej szkody niż pożytku. Natomiast w praktycznie każdym innym przypadku sytuacja odwraca się o 180 stopni.

Odczyty z pomocą LDAT potwierdzają to, co mierzą aplikacje, takie jak FrameView oraz nakładka NVIDIA.
Naturalnie generator klatek musi mieć z czego te klatki generować i to nie jest i nigdy nie było narzędzie do ratowania zbyt niskiego FPS. Tak, jak pisałem na początku, DLSS Frame Generation powstało po to, aby jeszcze bardziej podbić już przyzwoicie wysoki FPS uzyskany z pomocą DLSS Super Resolution - tak, aby opóźnienia były bazowo na poziomie 20-30 ms, co zwykle oznacza 60-80 FPS w samej grze. Z własnego doświadczenia dodam, że nawet 40 FPS podbite do 120 FPS przez MFG daje przyjemniejsze wrażenia z gry niż właśnie granie na tych 40 FPS, ale nie jest to optymalne wykorzystanie MFG i kompromis po stronie responsywności będzie już odczuwalny. Obecnie jednak, w sytuacji gdy nowy model DLSS Super Resolution w trybie wydajności dla rozdzielczości QHD oferuje jakość obrazu porównywalną do grania bez upscalingu z TAA, to uzyskanie tego akceptowalnego dla DLSS MFG progu wejścia FPS nie jest większym problemem nawet dla tańszych kart.
Czy DLSS Multi Frame Generation zwiększa wydajność? Nie. Ale czy sprawia, że gra jest płynniejsza i umożliwia lepsze wykorzystanie potencjału szybkich monitorów? Owszem - i o to w tym chodzi!
Wprowadzenie dynamicznego zarządzania mnożnikiem dodatkowo zoptymalizowało cały proces i to całkowicie “w tle” - użytkownik nie musi nic robić, niczego analizować - aktywuje DLSS Dynamic MFG i najpewniej zawsze będzie mieć tyle FPS, ile wynosi odświeżanie jego monitora (chyba że na monitor wydał więcej niż na kartę graficzną…). Każda klatka generowana przez silnik trafi na ekran, a sterownik automatycznie dobierze odpowiednią ilość klatek pośrednich. Znika też problem ze stabilnością interfejsu gry, a same artefakty klatek pośrednich są w praktyce trudne do wychwycenia (chyba że gramy w zwolnionym tempie i z lupą w ręce). W mojej ocenie DLSS 4.5 Dynamic Multi Frame Generation to rozwiązanie, które mogę każdemu z czystym sumieniem polecić, w przypadku wymagających gier AAA.





















Komentarze
0Nie dodano jeszcze komentarzy. Bądź pierwszy!