Proč chtít GeForce RTX 4000? Rozbor technologií Nvidia DLSS 3.5

Funkce Frame Generation. O co jde?

V tomto článku se podíváme na některé exkluzivní technologie, které vám můžou poskytnout grafické karty Nvidia GeForce generace RTX 4000. Některé jsme už probírali, jiné ne, zde tak naleznete vysvětlení nejzásadnějších novinek, které teď ekosystém grafik GeForce podporuje a testy ukazující, co dělají s výkonem ve hře Cyberpunk 2077 s novým rozšířením Phantom Liberty. A také se podíváme, co dělají s kvalitou obrazu.

Upozornění: Tento článek vznikl na objednávku Nvidie a je jí placený. Firma však žádným způsobem nezasahovala do jeho obsahu a jediná podmínka byla přiblížit uživatelům výhody technologií DLSS 3.5. Zaznamenané výsledky od páté kapitoly jsou naše vlastní.

Nejprve něco k teorii za tím, jak tyto technologie fungují.

Generování snímků (či také DLSS 3)

Generace grafik GeForce RX 4000 přinesla jako exkluzivní novinku DLSS 3, nové rozšíření technologií AI upscalingu (také lze hovořit o super resolution technice) a vylepšení obrazu pomocí neuronové sítě, předtím známých pod hlavičkou DLSS 2.x. To je v krátkosti kombinace spatiálního upscalingu pomocí neuronové sítě a temporální rekonstrukce, která pomocí kompenzace pohybu na základě pohybových vektorů získaných z enginu hry a dalších dat dokáže temporálně „zkombinovat“ informaci přítomnou v několika po sobě jdoucích snímcích a přidat ji do současného snímku, v kterém by vlivem nízkého rozlišení při vykreslování jinak třeba ani nebyla pořádně vidět.

DLSS 2.x zvyšuje výkon ve hře, protože při určitém rozlišení monitoru vykresluje hru s nižším interním rozlišením (čímž se výrazně zlepší FPS) a poté provede popisovaný upscaling na cílové rozlišení. S oním temporálním „zrekonstruováním“ či „vylepšením“ detailů může mít velmi dobrý efekt a dokáže kvalitu posunout výrazně výš, než co je možné při obyčejném upscalingu pracujícím jen s jedním jediným snímkem. Podle Nvidie by kvalita měla být velmi blízká nativnímu rozlišení (v některých konkrétních věcech může být i lepší, protože DLSS 2.x zároveň stabilizuje a vyhlazuje, takže může odstraňovat shimmering, který hra může ve výchozím stavu generovat).

Princip fungování DLSS 2.0 (zdroj: Nvidia)

S DLSS 2.x Nvidia dělá to, že generuje na obrazovku více pixelů, než kolik jich hra na GPU reálně vykresluje. DLSS 3 a poté na něj navazující DLSS 3.5 pod sebou zahrnuje tuto technologii, ale zároveň přináší novou funkci, která toto „multiplikování pixelů“ převádí do dalšího rozměru – zatímco upscaling zvětší počet pixelů (rozlišení) v rámci jednoho snímku (byť pro tyto účely analyzuje temporálně i další snímky), DLSS 3 přidává funkci tzv. Generování Snímků (orig. Frame Generation), které k existujícím snímkům, které hra sama vykreslila, „přidělává“ snímky úplně nové. V současné podobě dochází víceméně ke zdvojnásobení snímkové frekvence, kdy mezi každé dva snímky již existující funkce generování snímků vloží umělý mezisnímek.

Zatímco DLSS 2.x zvyšuje FPS tím, že snižuje výkon potřebný pro vypočítání jednoho snímku, DLSS 3/DLSS 3.5 prostě poté, co hra provede svoji práci, přidá další snímky. Zvýšení FPS je zde tedy jiného charakteru. U běžného upscalingu je každý snímek produktem enginu hry, který pro něj vypočítal, jak mají vypadat všechny efekty (včetně třeba osvětlení, různých záblesků a podobných komplikovanějších změn mezi snímky), ale také jak se mají které objekty hýbat (letící střely), a je v něm zohledněná informace o tom, co hráči dělají.

Zdvojnásobení FPS pomocí Optical Flow

Generování snímků v DLSS 3/3.5 probíhá nezávisle na enginu hry, jde vlastně o externí post-processing. Základem jsou snímky produkované hry (které už mohou zahrnovat upscalování pomocí DLSS 2.x, tedy s temporální rekonstrukcí). Pak je aplikováno samotné generování snímků. To používá techniku optical flow a generuje nový snímek tak, že porovná dva po sobě jdoucí snímky (přesněji, těch z minulosti umí využít víc, ale budoucí bude asi jen jeden) a z jejich dat odhadne, jak by měl vypadat mezisnímek mezi nimi na základě toho, co ví o pohybu objektů.

Princip fungování DLSS 3 (zdroj: Nvidia)

Tuto operaci provádí speciální AI (neuronová síť typu Convolutional Autoencoder) trénovaná na snímcích o vysokém rozlišení 16K. Při svém učení porovnávala své vlastní snímky odhadnuté pomocí techniky optical flow s referenčním reálným snímkem a postupným učením se zdokonalovala. Jsou přitom jako u DLSS 2.x využity pohybové vektory získané jako metadata od enginu hry, ale nejen ty.

Exkluzivně jen s GeForce RTX 4000

Důležitou komponentou při práci této neuronové sítě je akcelerace na specializovaných jednotkách – jsou použité Optical Flow Acceleratory přítomné v GPU generace GeForce RTX 4000, které poskytuje jejich architektura Ada Lovelace. Ta totiž obsahuje novou a schopnější generaci těchto jednotek (proti předchozím generacím, které mají starší verzi), na níž je generování snímků v rámci DLSS 3 založené. Na jiných generacích GPU tuto funkci proto nelze použít a dělá to z generování snímku také jeden z důvodů, proč tyto grafiky koupit.

Optical Flow Acceleratory dodávají umělé inteligenci generující snímky informace o tom, jak probíhá ve snímcích pohyb objektů a další změny. Analýza Optical Flow totiž také samostatně analyzuje snímky a hledá pohybové vektory, což je druhý separátní zdroj informace o pohybu vedle pohybových vektorů získaných ze hry. To je proto, že využití těchto dvou separátních zdrojů může předejít některým chybám v obraze, když pohybové vektory získané z enginu hry nejsou zcela správné.

DLSS 3 při generování snímků kombinuje vektory komunikované hrou s vektory nalezenými technikou Optical Flow pro lepší kvalitu (zdroj: Nvidia)

Plynulost versus reaktivita a latence

Vygenerovaný mezisnímek aproximuje, kde by měly pohybující se objekty být a jak by měly vypadat v mezičase mezi stavem zachyceným oběma reálnými snímky. U složitějšího, nepravidelného pohybu nebo třeba světelných efektů může takový odhad být méně spolehlivý a v některých případech nemusí být odpovídající informace nalezena, takže v obraze vzniká díra, která se musí zamaskovat třeba vyplněním z okolních bodů.

Obecně tyto vygenerované mezisnímky mají výhodu toho, že učiní pohyb ve hře plynulejší, což bude mít význam zejména, pokud začínáte s nízkou snímkovou frekvencí. Protože ale jsou nezávislé na samotném běhu hry, nejsou plnohodnotné z hlediska interaktivity a toho, aby hráč byl plně sladěný s děním ve hře. Generované snímky nemají vazbu na dění ve hře, protože DLSS 3 pracuje jen s obrazovými daty a pohybovou informací jednotlivých snímků, které má jako vstup – hra a vstupy či akce hráčů nemohou přímo ovlivnit obsah interpolovaných snímků. Vzniká tím nepřesnost, protože pohyb a události prezentované v umělém mezisnímku nemusí přesně odpovídat „realitě“.

Tato metoda zvýšení snímkové frekvence nemusí proto být moc vhodná do rychlých soutěžních her a eSports. V těch vám nejde o to, aby pohyb byl hezky plynulý, ale abyste viděli akce soupeřů co nejdříve, ale také nejpřesněji, a dokázali na vše co nejrychleji reagovat.

Vedle toho může být nevýhoda vygenerovaných snímků obecně v tom, že v nich mohou být artefakty, deformace kvůli nevyhnutelné nedokonalosti predikce Optical Flow a obecně toho, že někdy mohou chybět data (problém může vzniknout například zákrytem objektů a pozadí). Toto může být zamaskováno v pohybu, protože se vám horší interpolované snímky slijí s kvalitními „legitimními“, ale celkově není snímková frekvence zdvojnásobená pomocí tohoto druhu generování snímků něco kvalitativně stejného s tím, kdybyste danou hodnotu FPS dostali se všemi snímky reálnými.

Kdy je přínos: limitace CPU a plynulý pohyb

Zdvojnásobení snímků takto „mimo hru“ může mít přínos v momentě, kdy jste limitování výkonem GPU, ale dost zásadní to může být u her, které jsou limitovány výkonem CPU (například kvůli výpočtům AI nepřátel nebo fyziky). Právě tam se totiž uplatní to, že tyto nové (i když umělé) snímky vznikají „bez konzultace“ se hrou. Díky tomu ale v situaci, kdy CPU jede na maximum a hra nedokáže vygenerovat vyšší snímkovou frekvenci, dokáže DLSS 3 (či DLSS 3.5) s generováním snímků pořád zdvojnásobit FPS a může značně zlepšit pocitovou plynulost (možná nejvýraznější současný příklad bude Microsoft Flight Simulator). Všimněte si, že v této situaci by DLSS 2.x nepomohlo – pouze by snížilo hardwarovou náročnost vykreslování na GPU, ale protože brzdou je v této situaci čistě příprava snímků na CPU, výsledné FPS by se nezlepšily. Ale DLSS 3/DLSS 3.5 od hry a jejího CPU-limitovaného kódu nechce žádnou práci navíc a „vymyslí“ si další snímky samo od sebe, tudíž tímto není svázáno jako DLSS 2.x.

Nevýhoda: Zvýšená latence hry

Generování snímků nicméně zhoršuje latenci hry kvůli tomu, že nový snímek je generován z minimálně dvou po sobě následujících a je vložen mezi ně. V případě, že vkládáte jeden umělý snímek mezi dva reálné, je nutné odložit zobrazení posledního reálného snímku – ovladač GPU si ho musí po jeho dokončení schovat a nejprve vyrobit onen interpolovaný snímek a zobrazit ten. Poté musí ještě počkat stejnou dobu, jaká byla mezi předposledním reálným a uměle vygenerovaným snímkem a až poté může být onen dříve vykreslený snímek dodaný hrou zobrazen. DLSS 3 tedy potřebuje mít frontu snímků zpracovávaných dopředu a toto zvyšuje latenci. Všechny reakce hry na vaše vstupy či na akce vašich protivníků se vám na monitoru zobrazí o trochu později než bez této funkce.


  •  
  •  
  •  
Flattr this!

DirectSR, sjednocený upscaling ve hrách je tu. Vzal si něco z FSR

Před nedávnem se objevily informace o technologii DirectSR, kterou chystá Microsoft jako novou součást API DirectX, nad nímž je postavená většina her pro PC. DirectX standardizuje mnoho věcí včetně API pro 3D grafiku, s DirectSR se k tomu přidá rozhraní, přes které hry budou moci snadno používat upscaling, jako je DLSS. A to bez toho, aby musely přímo podporovat všechna různá řešení výrobců GPU, každé zvlášť. Celý článok „DirectSR, sjednocený upscaling ve hrách je tu. Vzal si něco z FSR“ »

  •  
  •  
  •  

FSR 3.1 zlepšuje kvalitu, umí přidat generování snímků k DLSS

Na grafické konferenci GDC 2024 odhalilo AMD novou verzi herního upscalingu FidelityFX Super Resolution (FSR) 3.1. Jde o evoluční vylepšení vycházející z loňského FSR 3.0, které má mimo jiného zlepšovat obrazovou kvalitu, ale současně přináší zajímavou změnu. Ve FSR 3 se objevila technologie generování snímků (analogická generování snímků v DLSS 3 a 3.5 od Nvidie). Ta se v generaci FSR 3.1 dá nově využít i samostatně a zkombinovat s DLSS. Celý článok „FSR 3.1 zlepšuje kvalitu, umí přidat generování snímků k DLSS“ »

  •  
  •  
  •  

DirectSR: Sjednocení DLSS, XeSS a FSR, konec nekompatibility

Už by to mělo být pět let, co Nvidia začala prosazovat do her upscaling s první generací DLSS spojenou s grafikami GeForce RTX 2000. Tento přístup se uchytil a nyní mají jak AMD, tak Intel vlastní alternativy FSR a XeSS. Velká nevýhoda je, že každá z těchto technologií se do her musí přidávat zvlášť. Záchranou teď může být Microsoft, který z upscalingu dělá standardní součást DirectX, takže už nebudete omezení tím, čí GPU vlastníte. Celý článok „DirectSR: Sjednocení DLSS, XeSS a FSR, konec nekompatibility“ »

  •  
  •  
  •  

One comment Pridať komentár

  1. Proč chtít RTX 4000, když mě DLSS absolutně nezajímá. Nechci nějakej náhodně generovanej obraz, sorry jako.

    Ale něco tam přeci je, RTX 3070 má 8GB VRAM, což je dnes tak tak na fullHD. Na 1440p je i 10GB od RTX 3080 docela na hraně, takže i RTX 4070 se 12GB bude mít jistou výhodu. No a až po novým roce NVidia udělá reedici RTX 4080 pro normální hráče, která už má být za adekvátní cenu, tak bude na ty hry až do 4K ideální taky.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *