Implementace DLSS pro vyšší obrazovou kvalitu a plynulost

Implementace DLSS pro vyšší obrazovou kvalitu a plynulost Tagy: Technologie, Vývoj aplikací
| Publikováno dne

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.

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.

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.