Velké novinky pro Nvidia GeForce: Integer Scaling retro her, Ultra-Low Latency a další

21. 8. 2019

Sdílet

Konkurenční AMD si založilo před pár lety tradici velkých aktualizací ovladačů, typicky přicházejících koncem roku, do nichž se soustředilo větší množství novinek. Nvidia je typicky vypouští plynuleji (nebo s novými generacemi grafik), ale teď také přichystala – s načasováním sedícím na herní veletrh Gamescom – takovou velkou aktualizaci. Jde o verzi 436.02 WHQL, nazvanou také Gamescom Game Ready Driver. A nového toho přináší docela dost.  

Lepší výkon s ovladačem GeForce 436.02

První změnou, která není až tak výjimečná (v tom smyslu, že se děje celkem často), jsou optimalizace výkonu ve hrách, které jsou součástí tohoto ovladače podobně jako v dalších. Nvidia uvádí, že došlo na hry Apex Legends, Battlefield V, Forza Horizon 4, Strange Brigade a World War Z, kde se výkon zvýšil o hodnoty od drobných jednotek procent až po 23% nárůst výkonu.

Podrobnější výsledky pro tyto hry na různých kartách GeForce RTX, tedy generaci Turing, můžete vidět v galerii. V poznámkách k vydání bohužel nestojí, zda se zrychlení týkají i GPU architektury Pascal a/nebo starších.

Zlepšení výkonu s ovladačem Nvidia GeForce 436.02 WHQL "Gamescom Game Ready Driver"

Režim Ultra-Low Latency

Ovšem teď už k těm novým funkcím. První dvě asi vyvolají paralely s novinkami, které oznámilo AMD pro karty Radeon na E3 2019. Nvidia totiž přichází s funkcí pro snížení input lagu či latence hry během jejího vykreslování na GPU (tedy separátně od input lagu, který může přidávat monitor). Takzvaný režim Ultra-Low Latency má snížit odezvu mezi vstupem/kliknutím a zobrazením snímku, stejně jako to slibuje funkce Radeon Anti-Lag v ovladačích od AMD.

Ultra-Low Latency by mělo být nové jméno pro nastavení „Max Pre-rendered frames“, což bylo nastavení, jímž se dala snížit míra bufferování snímků v ovladačích Nvidie již dříve (ovladače snímky buferují do fronty, ačkoliv to přidává latenci, kvůli vyrovnanějšímu výkonu a pro potlačení micro-stutteringu, což byl zase fenomén, na který se Nvidia a pak i AMD zaměřovaly v letech 2012 až 2014). Nově se bude dát v ovladačích pod označením „Ultra-Low Latency“ tento režim nastavit na On/Off a Ultra.

gamescom 2019 geforce game ready driver ultra low latency nvcpl option Nastavení režimu Ultra-Low Latency v ovládacím panelu ovladačů Nvidia

„On“ by mělo znamenat, že se fronta snímků zkrátí na 1 (nastavení Max Pre-rendered frames umožňovalo nastavení od 1 do 5), „Off“ pak defaultní počet snímků, tedy žádné zkrácení fronty. Nastavení „Ultra“ je teď nové a zcela frontu eliminuje (je to ekvivalent nastavení 0) a znamená, že se snímky posílají k vykreslení okamžitě, jak jsou dostupné.

gamescom 2019 geforce game ready driver latency render queue Vykreslovací pipenine: funkce Ultra-Low Latency zkracuje frontu snímků mezi herním enginem a samotným vykreslováním na GPU

Zkrácení fronty může zhoršit plynulost hry, případně i celkový výkon (průměrné FPS), takže asi bude záležet na tom, na čem vám při hraní nejvíc záleží. Ultra režim by asi měl být žádoucí hlavně pro soutěžní, „esportovní“ hráče. Mimochodem, toto nastavení je aplikovatelné jen na hry napsané nad DirectX 9, 10 a 11. Nízkoúrovňová API DirectX 12 a Vulkan dávají hloubku fronty snímků pod kontrolu samotné hře, takže se s ní nedá manipulovat.

Toto je stejné i u funkce od AMD (podporuje DirectX 11 a DirectX 9, ale teď to jen na nových Radeonech RX 5700/Navi). Nvidií také není alespoň prozatím podporováno SLI. Funkce ale bude fungovat na všech grafikách, pro které má nový ovladač podporu, tedy vše od desktopových Keplerů a notebookových Maxwellů.

gamescom 2019 geforce game ready driver ultra low latency chart Zlepšená odezva ve hrách s režimem Ultra-Low Latency dle měření Nvidie

Ostřící postprocessing pro hry

Kromě této novinky také Nvidia do nového ovladače přidala podporu pro přiostřovací post-processingový filtr v rámci funkce Freestyle přítomné v balíku GeForce Experience. Lépe řečeno, Nvidia již v něm ostřící filtr měla, nyní by ale měl být vylepšen. Nová verze má zlepšovat vizuální kvalitu a také snižovat dopad na výkon, ten teď má být jen poloviční proti předchozí verzi. Jde o postprocessing běžící na shaderech GPU prakticky v jakékoli hře, jelikož nepotřebuje explicitní podporu (pracuje s hotovými snímky). Na rozdíl od DLSS ale nebude používán spolu s upscalingem a asi nejde o aplikaci neuronové sítě, ale o nějaký konvenčnější algoritmus (což může být plus pokud vám vadí efekt, který DLSS vyvolává). Velmi pozitivní je, že síla efektu bude nastavitelná (od 0 do 100 %).

metro exodus nvidia freestyle sharpen filter comparison Ukázka efektu ostřícího algoritmu pro Nvidia Freestyle na hře Metro Exodus

Zde bude asi zajímavé porovnánít s Contrast-Adaptive Sharpeningem od AMD, který firma oznámila v červnu s Radeony Navi. Jde o prakticky stejný druh filtru, i když efekt, kvalita a implementace se samozřejmě mohou lišit, a AMD počítá i s použitím tohoto postprocessingu jako „enhancementu“ pro obraz vykreslený v nižším rozlišení a upscalovaný.

Integer upscaling: pro staré dobré pecky

Třetí novinka je z jiného soudku. Určená je pro hry, které už obvykle ani v souvislosti s herními grafikami nefigurují – zejména staré a emulované 2D hry, či novinky, které se jim podobají a míří na retro vzhled, s grafikou někdy nazývanou „pixel art“. Ta má nízké rozlišení (často to bývalo 320 × 200 bodů) a skládala se z ručně kreslených ploch a objektů, kvůli malému množství barev také často silně ditherovaných.

Pokud staré hry hrajete, tak asi víte, že není úplně jednoduchá záležitost zvětšit jejich dnes miniaturní rozlišení na celou obrazovku. Škálování z 320×200 třeba na FullHD by vedlo k hodně neostrému obrazu, pokud byste použili klasický bilineární filtr, a také to rozmazává onu ditherovou kresbu. Různé pokročilejší filtry snažící se interpolovat chybějící pixely zase mají často nepřirozený, umělý (či na rovinu rovnou škaredý) vzhled. Z tohoto důvodu hráči často chtějí hru škálovat prostě tak, aby pixel byly větší, bez nějakého vyhlazení „kostičkovatosti“. Tedy každý pixel převést přesně na blok třeba 2×2 nebo dnes spíše 3×3 či 4×4 bodů.

gamescom 2019 geforce game ready driver integer scaling ftl Běžné škálování a Integer Scaling ve srovnání od Nvidie

Moderní grafické karty toto dlouho neumožňovaly, ale Nvidia nyní takovou funkci do ovladačů zavádí pod označením „integer scaling“. Jak označení implikuje, mělo by umožňovat škálování jen o celé násobky, tedy 2×/3×/4× a tak dále.

gamescom 2019 geforce game ready driver integer scaling nvcpl option Nastavení Integer scalingu v ovládacím panelu ovladačů Nvidia

Integer scaling podle Nvidie používá hardwarový škálovač v GPU Turing, jenž je programovatelný a umožňuje tak implementaci metody nearest neighbor, respektive integer scaling. Bohužel kvůli tomuto tato funkce bude fungovat jen na kartách s touto novou architekturou (RTX 2000 i GTX 1660), ne na ničem starším. Neměl jsem možnost hardwarové řešení Nvidie vyzkoušet, takže vám neřeknu, jak je řešena třeba případná změna poměru stran, pokud je nutná, protože třeba zmíněné rozlišení 320×200 se zobrazovalo v poměru 4:3, takže nemělo čtvercové pixely a na dnešním LCD to musíte korigovat, aby nebyl obraz deformovaný (osobně jsem to řešil například v DOSBoxu tak, že jsem nastavil nejprve nearest neighbor/integer upscaling s faktorem 2× nebo 3× a poté bilinerání škálování pro zvětšení na celou obrazovku a zároveň korekci poměru stran – toto už zase trochu zmírní ostrost, ale pokud je to provedeno až po předchozím integer upscalingu, už to není tolik na závadu, možná i naopak).

Integer scaling plánuje i Intel, ale Nvidia byla první

Zde je zajímavé, že tuto funkci také Nvidia neoznámila jako první – Intel už od jara láká na to, že tuto novinku do ovladačů přidá, ale ještě ji nedokončil (mělo to být do konce srpna), takže s implementací ho Nvidia předběhla. Uvidíme, zda tedy zareaguje také AMD. Mimochodem, i u Intelu bude podpora omezená – integer scaling dostanou jen procesory Ice Lake s integrovanou grafikou Gen11. Bohužel se asi ani Nvidii, ani Intelu nechtělo (nebo zatím nechtělo?) implementovat toto škálování pomocí shaderů (na což by měly mít výkonu dost a dost, tyto hry jinak GPU nezatěžují).

Naštěstí je tu alternativa: často je možné nastavit škálování už přímo v emulátorech, například v tom zmíněném DOSBoxu, takže pak máte analogickou funkci k dispozici i bez Turingu nebo Ice Lake (a také ji nemusíte přepínat zpátky, když začnete pro změnu hrát nějaký moderní titul). Ovšem ne všechny podobné hry budete hrát zrovna v DOSBoxu...

Albion scaling demo Ilustrační ukázka přínosu integer scalingu na složitější grafice hry Albion (rozklikněte pro plné rozlišení). Vlevo integer upscaling 3×, vlevo bilineární upscaling. Pozor, snímky jsou pořízené na DOSBoxu, nikoliv pomocí ovladačů Nvidie/GPU Turing, výsledek by však měl odpovídat

Podpora 10bitové barevné hloubky v OpenGL pro profi aplikace už i v normálním ovladači

Gamescom driver tak paradoxně přinesl funkce, které odhalila nebo oznámila konkurence (ale samozřejmě nevíme, zda na nich v Nvidii nepracovali už předtím). To ovšem není třeba brát jako nějaké minus. Poslední novinka je naopak původní „zelená“. Jak jsme psali před pár týdny, v poloprofesionálních ovladačích větve „Studio“ (předtím Creator) se objevila podpora pro 30bitové barvy, či 10bitové barvy (podle toho, zda počítáte všechny RGB kanály dohromady nebo uvádíte rozlišení jedné složky) v OpenGL aplikacích pro karty Ge|Force. Grafici a podobní pracovníci tak už nepotřebují kvůli této funkci kupovat drahé modely Nvidia Quadro.

Galerie: RTX Studio notebooky a ovladače Nvidia Studio

Ovšem tato funkce nakonec nebude exkluzivní pro ovladač Studio. Je totiž další novinkou Gamescomového vydání, které nyní tento zlepšovák převádí už i do úplně standardního herního ovladače. Díky tomu by se snad mohla podpora rozšířit i na starší grafiky. Ovladač Studio je jen pro GPU Volta, Turing a Pascaly s označením GeForce GTX, takže tato funkce byla omezená na stejné modely. Standardní ovladač GeForce podporuje ale i slabší a starší modely, takže se snad tímto podpora 10bitových barev v OpenGL dostala i na karty jako GeForce GT 1030, GeForce MX150 nebo Keplery a Maxwelly.

Distribuce byla přechodně zastavena kvůli chybě v instalátoru

Ovladač 436.02 WHQL už byl včera přechodně dostupný ke stažení, ovšem jak zjistil web techPowerUp, instalátor obsahoval chybu, kvůli které automaticky instaloval aplikaci GeForce Experience bez ohledu na zvolené volby. Normálně ovladač nabízí volbu souhlasu se zpracováním osobních údajů a instalace GeForce Experience (kvůli čemuž musíte odsouhlasit ono zpracování, dle zákonů GDPR), a proti tomu nesouhlas s tím, aby Nvidia mohla údaje zpracovávat, což znamená, že se GeForce Experience nenainstaluje. Ovšem kvůli bugu v instalátoru se tato druhá volba ignorovala a GeForce Experience se i tak nainstalovalo.

ICTS24

Nvidia již tuto chybu potvrdila a distribuci nového ovladače kvůli ní bohužel zastavila. Ovšem tato chyba v instalátoru by snad měla být rychle opravena, takže by snad brzy mělo být opět možné ho stahovat.

Aktualizováno:

Distribuce je už opět obnovena, chyba v instalátoru byla již vyřešena. Stahovat můžete na webu Nvidie, pro Windows 10 64bit by měl být balík zde.

Galerie: Ovladač Nvidia GeForce 436.02 WHQL "Gamescom Game Ready Driver"