Nová verze upscalingu DLSS 4 založená na neuronové síti typu transformer byla představená už v lednu, nyní ale opouští stádium beta a vyšla naostro. V médiích se teď objevily zprávy, že se díky ní sníží nároky her na grafickou paměť. To není pravda – respektive, nadpisy článků toto hlásající jsou silně zavádějící. Nvidia totiž zmenšila nároky neuronové sítě transformer, ale nároky DLSS 4 se tím nesníží – ironicky je to přesně obráceně.
Nvidia teď spolu s vydáním DLSS 4 s modelem transformer v ostré „ne-beta“ verzi uvedla SDK verze 310.3.0, která u transformeru skutečně optimalizuje proti předchozí verzi SDK (310.2.0) spotřebu paměti v tom smyslu, že jí upscaling spotřebuje méně. Jenže je v tom háček.
Doteď většina her používala DLSS se starým typem modelu CNN (konvoluční neuronová síť). Her, které hned při vydání měly DLSS 4 s modelem transformer, bude proti tomu poměrně málo, reálně proto vždy bude ve hrách nastávat přechod z CNN na tuto novou verzi transformeru.
Jenže když se podíváte do tabulky přímo od Nvidie, tak jasně vidíte, že pro neuronovou síť CNN se všude uvádí nižší čísla zabrané paměti. Jinými slovy, měla nižší nároky a když je teď nahrazená za model transformer, spotřeba paměti rozhodně stoupla, místo aby klesla. V tomto jsou proto novinové titulky typu „NVIDIA DLSS Transformer sníží spotřebu VRAM Usage o 20%“ vyloženě špatně. Docela dost lidí nic jiného než titulky nečte, takže odejdou se špatnou představou.
Nejdřív zvednout cenu o hodně, pak trochu slevit…
Pro správné zhodnocení je třeba pochopit, že výchozím stavem byla hodnota pro neuronovou síť CNN, které pro rozlišení 1920 × 1080 bodů stačilo 60,83 MB. Když Nvidia přišla se sítí transformer, její původní verze (310.2.0) ve stádiu beta měla spotřebu paměti 106,9 MB. Nvidia na zabrané paměti zapracovala v nové optimalizované verzi (310.3.0), ale nárůst spotřeby paměti se povedlo zmírnit jen zčásti, nakonec je spotřeba 85,77 MB, tedy rozhodně vyšší. Nejde o zmenšení zabrané paměti o 20 %, naopak se zabraná paměť zvětšila o 41 %.
Spotřeba paměti DLSS 4 s původním modelem CNN a novým modelem Transformer (SDK 310.2.0). Výchozím stavem byly údaje pro model CNN, který DLSS doteď používalo, údaje pro transformer jsou platné pro první beta verzi transformeru v DLSS 4
V rozlišení 1920 × 1080 bodů nebude ale tato spotřeba navíc (ale ani úspora proti beta verzi transformeru) asi nikdy důležitá. Šance, že zrovna těchto 25 megabajtů přeteče pohár paměti, bude spíš teoretická. Ve vyšších rozlišeních už je rozdíl o něco větší – ve 4K potřeboval beta transformer 387,21 MB a verze SDK 310.3.0 to srazila na 307,37 MB. Jenže předchozí verzi DLSS s modelem CNN stačilo 199,65 MB, rozdíl už je tedy stovka, takže je o trošku vyšší šance, že jste doteď hráli se spotřebou paměti zrovna tak na hraně, že po aktualizaci DLSS narazíte a dostaví se propady FPS (nebo u her používajících API Vulkan třeba i pád, jelikož si neumí při nedostatku VRAM pomoct operační pamětí počítače). Pořád je šance asi minimální, ale je dobré o zvětšení nároků na paměť vědět, kdybyste zrovna vy v této loterii „vyhráli“.
Mimochodem, transformer je také náročnější na výkon, jinými slovy se stejným výkonem GPU a stejným škálovacím faktorem budou výsledné FPS o něco níž. Upscaling tímto modelem konzistentně GPU vytíží na delší čas (v ms) pro každý snímek. Pro zajímavost, zde je tabulka z dokumentace Nvidie ukazující čas výpočtu pro starý model CNN a nový model transformer. Je z dokumentace k SDK 310.2.0, ale nová verze 310.3.0 uvádí pro transformer stejná čísla (už ale bez srovnání s CNN).
Výpočetní čas, který stojí upscaling jednoho snímku pomocí DLSS4 na různých grafikách pro různá rozlišení
Mělo by to stát za to
Protože by měla neuronová síť typu transformer produkovat lépe vypadající obraz, stojí tyto celkem malé oběti zřejmě za to. Každopádně to však to není důvod si chybně vykládat efekt této změny. Mimochodem, tato čísla hovoří jen o spotřebě paměti, kterou vás stojí upscaling. Pokud ale u zapnete generování snímků, zvýší se využití paměti dále a zdá se, že spotřeba generování je mnohem vyšší a tedy významnější, než u upscalingu (v recenzi GeForce RTX 5060 Ti 8GB například techPowerUp zjistil, že zapnutí multiframe generation potřebuje asi 1 GB paměti navíc). Pokud tedy máte třeba 8GB nebo 12GB grafiku GeForce, pamatujte na toto při volbě nastavení hry. Ač je to proti intuici, zapnutí generování snímků vám může hratelnost zhoršit, pokud se tím takto vyčerpá či přečerpá kapacita paměti.
Údaje v tabulce by měly být pro režim DLSS Performance, kdy dochází ke škálování přesně s faktorem 2× (takže v rozlišení 1920 × 1080 se reálně vykresluje pouhých 960 × 540 bodů). Režim Ultra Performance by snad mohl mít o něco menší nároky (upscalovací faktor 3×, takže interní renderované snímky hry jsou menší a zaberou méně paměti). Naopak režimy Balanced a Quality s méně agresivními faktory škálování zase vyšší.
Zdá se také, že někdy může být spotřeba paměti o něco vyšší u starších karet (GeForce RTX 2000 generace Turing; GeForce RTX 3000 a RTX 2000 také mají více zabrané paměti při použití techniky Ray Reconstruction. I když zase představuje rozdíl v rozlišení 1080p jen nějaké desítky megabajtů. Ve 4K už to začíná být horší.
Zdroje: Nvidia (1, 2, 3), VideoCarz, techPowerUp

