AMD FSR 3.0 na cestě. Otevřená alternativa DLSS 3 má běžet na všech všech GPU

27. 3. 2023

Sdílet

 Autor: AMD
Interpolace snímků od AMD bude, zdá se, mít podobné rysy jako ta od Nvidie. Na vydání se ale ještě bude nějakou tu chvíli čekat.

Už před pár měsíci bylo oznámeno, že AMD pracuje na třetí generaci upscalingu FidelityFX Super Resolution (FSR), který by měl přinést podobnou funkci jako DLSS 3 – tedy interpolaci mezisnímků vkládaných mezi legitimní snímky hry podobně, jako to televize dělají s videem a filmy. AMD to teď formálně potvrdilo a představilo FSR 3.0, která interpolaci snímků přinese a opět bude otevřenou technologií (včetně zdrojového kódu).

Na GDC 2023 mělo AMD prezentaci nazvanou Temporal upscaling: past, present, and future, ve které byly zpětně představené první dvě generace tohoto upscalingu – čistě spatiální FSR 1.0druhá generace FSR 2.x s temporálním filtrováním (stabilizací a rekonstrukcí detailů). Tato prezentace potvrzuje, že třetí generace, na které se pracuje nyní, bude dopočítávat interpolované snímky navíc mezi reálné snímky vykreslené hrou, tedy jako DLSS 3 od Nvidie.

Prezentace zatím o FSR 3.0 neříká úplně moc. AMD v ní uvádí, že cílem je navýšení snímkové frekvence (dle očekávání) tím, že se opět zvýší počet prezentovaných pixelů v poměru k pixelům, které GPU přímo vykreslí. Interpolace snímků má snad mimo jiné vycházet z technologie Fluid Motion Video (používané pro konverze snímkové frekvence u videa) a bude spolupracovat s FSR 2.x tím, že bude také používat vektory předávané enginem hry.

Stejně jako u Nvidie budou vstupem pro interpolaci zcela hotové vykreslené snímky se vším všudy – po stránce obrazových dat bude tedy interpolace opět pracovat jako videofiltr pracující s bitmapou, ne s objekty scény. AMD ukázalo schéma celého procesu a potvrdilo, že vstupem pro interpolaci jsou až finální snímky včetně postprocessingu a také s různými překryvy, OSD a GUI hry. Ty tedy budou interpolovány spolu s obrazovou scénou.

V prezentaci se uvádí, že interpolace snímků musí překonávat různé problémy, nelze použít limitování barvy výstupního bodu jako u předchozích verzí FSR a komplikované je řešení nelineárního pohybu (rotace, perspektiva, zoom). Podle AMD bude ale interpolátor oddělený od zbytku vykreslování, takže případné artefakty a chyby v obraze „bliknou“ jen po dobu jednoho jediného snímku a nepoznamenají následující snímky.

Prezentace AMD FSR 3.0 na GDC 2023 1 Prezentace AMD FSR 3.0 na GDC 2023 (zdroj: AMD)

Podle schématu budou interpolované snímky zobrazovány zhruba uprostřed během doby, kdy GPU počítá regulérní snímek. Počítá se s tím, že se bude vkládat jen jeden interpolovaný snímek mezi dva reálně vypočtené, což znamená, že technologie zhruba zdvojnásobí snímkovou frekvenci v porovnání se vstupem. Výsledná frekvence může být asi trošku nižší než dvojnásobek frekvence s FSR 2.x, protože interpolace mezisnímků bude konzumovat nějaký výpočetní čas GPU navíc, jak i můžete na diagramu vidět.

Schéma fungování AMD FSR 3.0 Schéma fungování AMD FSR 3.0 (zdroj: AMD)

Co je, zdá se, potvrzené: Interpolované snímky budou vložené tak, že umělý snímek bude generován jako mezistupeň mezi dvěma snímky, tedy mezi předchozím již ukázaným snímkem a mezi jeho budoucím následovníkem. Toto je stejný princip jako u DLSS 3. Jinak to asi není moc vhodné, pokud by se totiž predikovalo pouze směrem dopředu z minulých snímků, docházelo by k chybám v odhadnutém pohybu objektů a scény, což by bylo hodně rušivé.

Toto řešení nicméně bude zvyšovat latenci a reaktivitu, což AMD přiznává. Algoritmus totiž bude muset pracovat o jeden snímek napřed – aby mohl být zobrazený interpolovaný snímek, musí už být hotový i snímek následující po něm. Toto nastává i u DLSS 3, ačkoliv o tomto dopadu Nvidia moc nemluví a její marketing se spíš snaží tvrdit, že se latence zlepšuje (což je nesmysl). Ve skutečnosti Nvidia do DLSS 3 přidala jinak samostatně dostupnou technologii Reflex sloužící ke snižování latence vstupu a ona zlepšení jsou jen jejím dílem (pokud hra již má zapnutý reflex a pak přidáte DLSS 3, latenci si tím zhoršíte). AMD uvádí v prezentaci, že zhoršení latence kvůli interpolaci bude zřejmě řešit stejně, tedy zkombinováním FSR 3.0 s technologií snížení latence (AMD AntiLag).

Doporučeno pro hry, které již běží na aspoň 60 Hz

Podle AMD bude FSR 3.0 vhodné používat tehdy, pokud je vstupní snímková frekvence alespoň okolo 60 FPS. To jednak sníží dopad oné zvýšené latence (jeden snímek navíc trvá méně milisekund), ale je to i kvůli tomu, že interpolované snímky nejsou úplně dokonalé a mohou mít artefakty. Čím vyšší je finální snímková frekvence, tím kratší dobu je interpolovaný snímek ukázán, čímž se jeho nedokonalosti schovají (úplně dokonale to ale nefunguje) a převládne pozitivní dojem z plynulosti pohybu.

Co zatím nebylo odhaleno, je samotný interpolovací algoritmus a jeho povaha. Nevíme tedy, zda bude použitá nějaká neuronová síť (AI), nebo půjde o konvenčně člověkem designovaný algoritmus. Podobně jako FSR 2.x bude ale AMD omezené tím, že tento kód musí běžet na větším množství různých GPU, a nebude tedy asi moci být závislý na nějakém specializovaném hardwaru. Bude tedy muset pracovat s nižším výpočetním výkonem. Až na tento rozdíl ale, zdá se, princip bude velmi podobný DLSS 3, takže se dají očekávat podobné přínosy i negativa.

ICTS24

Prezentace AMD FSR 3.0 na GDC 2023 2 Prezentace AMD FSR 3.0 na GDC 2023 (zdroj: AMD)

AMD zatím neprozradilo, kdy bude FSR 3.0 dokončené a představené definitivně. Nynější prezentace je spíš zpráva o tom, že vývoj běží, takže nejspíš ještě bude několik měsíců trvat, než vyjde hotová verze a s ní hry. Implementace ve hrách, které již mají FSR 2.x, by zřejmě měla být jednodušší než přidání FSR 2.0 nad rámec FSR 1.0, protože snad nebude třeba doplnit tolik spolupráce ze strany hry.

Zdroje: AMD (1, 2)