Implementace DLSS pro vyšší obrazovou kvalitu a plynulost

Datum publikace

Deep learning super sampling, zkráceně DLSS, je technologie schopná efektivního okamžitého převodu snímků o nízkém rozlišení (např. Full HD) na vysoké rozlišení (4K). DLSS využívá ke své funkci předem vytrénovaný AI model, jež je zpracováván v Tensor jádrech grafických karet Nvidia RTX 2. a 3. generace.

DLSS je v principu velmi optimální metoda renderování, jelikož při výpočtech se pracuje s odhadem, který je oproti nutnosti dosáhnout přesné shody mnohem rychlejší. (Např. provést výpočet pro rozlišení 1920x1080px ~ 2mil px a to následně digitálně zvětšit na 3840 x 2160px ~ 8,3mil px je rychlejší než počítat 8,3mil px napřímo.) Výsledkem je kvalitnější grafický výstup - buď o vyšší kvalitě, nebo frekvenci zobrazení.

Jak funguje NVIDIA DLSS 2.0 a co je neuronová síť?

První generace DLSS se nedočkala širokého nasazení. Důvodem byla složitost implementace, především potřeba tréninku neuronových sítí pro každou hru samostatně. To se s 2. verzí vydanou v dubnu 2020 změnilo - DLSS pracuje s univerzálním modelem využitelným pro jakoukoli hru. Společně s dostupností pluginu pro herní enginy je nyní implementace DLSS otázkou doslova pár minut.

Implemetace DLSS 2.0 do her a aplikací vyvíjených v Unreal Engine

Technologie DLSS je dostupná pro Unreal engine ve verzi 4.26 a výše formou pluginu dostupného ke stažení na webu Nvidie. Samotná implementace je otázkou stažení .zip souboru z webu Nvidie a následného nakopírování souborů pluginu do složky "\Engine\Plugins\Runtime\Nvidia" nacházející se v instalační lokaci konkrétní verze Unreal Enginu (např: "C:\Program Files\Epic Games\UE_4.26\Engine\Plugins\Runtime\Nvidia"). Při následném spuštění Unreal Enginu stačí jen povolit Nvidia DLSS v pluginech ("Edit → Plugins → Nvidia DLSS"). Po aktivaci přibude ve "Viewport options" volba nastavení DLSS.

DLSS in Unreal Engine Nastaveni DLSS v Unreal Engine. Případná konfigurace DLSS lze provádět v konfiguraci pluginu.

V rámci DLSS lze volit ze 4 základních nastavení, lišících se v procentuálním rozlišení obrazovky. V případě potřeby individuálního procenta je možné povolit box "Screenpercentage DLSS" zaškrtnutím možnosti "Enable Screenpercentage Manipulation in DLSS Editor" nacházející se v konfiguraci DLSS pluginu. Výchozí procenta rozlišení v rámci předdefinovaných voleb jsou následující:

  • OFF - 100%
  • Ultra Performance - 33%
  • Performance - 50%
  • Balanced - 58%
  • Quality - 66%

Aktivace probíhá jednoduchým kliknutím na tlačítko, nic víc není potřeba.

DLSS Off DLSS off DLSS ON DLSS on Standardní snímek (DLSS off) vlevo vs DLSS na možnosti "Quality" vpravo.

DLSS je porporováno i pro využití ve virtuální realitě. DLSS jsem podrobil sérii testů. Nejvíce mě zajímaly výsledky v případě neoptimalizovaných scén, respektive jejich nejhorších míst. Zde DLSS dopomohlo k navýšení FPS zhruba o 20%.

Deep learning super sampling je velmi praktickým pomocníkem, jehož implementace nic nestojí. Z toho důvodu jej používám nativně při vývoji aplikací běžících na počítačích obsahujících grafickou kartu podporující DLSS. Nicméně, i přes zjevné výhody, nelze se na DLSS spoléhat - vhodná výkonostní optimalizace aplikací je stále potřeba.

Ukázka boostu získaného použitím DLSS. Video od Nvidie.