Štve vás, že po aktualizaci ovladačů nemůžete hrát, protože se kompilují shadery? Nvidia nabízí řešení

Sdílet

Grafické karty Nvidia GeForce RTX 5000 Autor: Nvidia
Grafické karty Nvidia GeForce RTX 5000
S beta funkcí automatické kompilace na pozadí nebudete po aktualizaci ovladačů muset čekat, než se vám zkompilují shadery. Nvidia App to bude dělat dopředu, i když to má svá omezení.

Včera jsme vás informovali o aktualizaci utility Nvidia App pro grafické karty GeForce, která majitelům poslední generace karet přinesla možnost použít 6× generování snímků a dynamický režim v DLSS 4.5. Není to nakonec ale jediná novinka, kterou firma má připravenou. Tato nová verze Nvidia App má totiž ještě jedno zlepšení – funkci, která vás může zbavit otravného čekání na kompilaci shaderů, které někdy trvá dlouhé minuty.

Nvidia Auto Shader Compilation

Hry mají dnes extrémně velké množství efektů a výpočtů prováděných na GPU pomocí shaderů. Tzv. shaderové programy ale nemohou na grafikách běžet přímo, ovladače je musí nejprve zkompilovat na míru architektuře a instrukční sadě konkrétního GPU. Částečně se to děje za běhu, ale velkou část je nutné mít připravenou dopředu. Proto obvykle při prvním zapnutí nějaké hry po instalaci uvidíte dlouhý „progress bar“, zatímco si hra shadery kompiluje.

Bohužel tato kompilace není nutná jen při instalaci hry (nebo kdybyste vyměnili GPU), ale i po každé aktualizaci ovladačů – shadery totiž musí být kompilovány pro konkrétní verzi. Když tedy například nedávno Nvidia vydala několik hotfixů ovladačů za zhruba dva týdny a vy byste nainstalovali postupně všechny, čekali byste pokaždé ve hrách, které byste zrovna chtěli hrát, na novou kompilaci.

Včera vydaná verze Nvidia App v kombinaci s ovladačem GeForce 595.97 přidává lehce experimentální (beta) řešení tohoto problému. Jde o funkci Nvidia Auto Shader Compilation (ASC), kterou si můžete volitelně zapnout. Tato funkce přebírá rekompilování shaderů a provádí ho automaticky po instalaci ovladačů na pozadí, když používáte počítač mimo hraní. V ideálním případě to bude fungovat tak, že než se po aktualizaci ovladačů ke hraní dostanete, bude už zkompilováno a tím pádem po spuštění hry neuvidíte otravnou čekací obrazovku a budete k „paření“ puštěni hned.

Funkce je ve výchozích nastaveních vypnutá, v případě zájmu si ji můžete zapnout v nastaveních, a to v sekci Shader Cache (cache pro shadery existovala již předtím, ukládají se do ní shadery zkompilované ve hrách a nyní i pomocí ASC). Můžete si zde vedle samotného zapnutí ASC (volba se jmenuje „Precompile Shaders“) také nastavit míru zatížení PC, kterou ASC bude mít povolenou. Kompilování shaderů je mnohovláknová zátěž, takže vám při ní může celkem zafunět ventilátor (právě kompilování shaderů ostatně bývalo „zkouškou ohněm“, která v roce 2024 odhalovala nestabilní degradované procesory Intel Raptor Lake).

Nastavení automatické kompilace shaderů v Nvidia App

Nastavení automatické kompilace shaderů v Nvidia App

Autor: Nvidia

Jak výhodná tato funkce bude, to je otázka. Pokud máte nastavenou automatickou instalaci nových verzí ovladačů, nejspíš ASC zvládne opravdu shadery zkompilovat předem a pak při spuštění hry aktualizace vůbec nepocítíte. Pokud ale aktualizujete ručně mezi hraním a chcete hned znovu spustit hru, nebude vám funkce nic moc platná.

Tato funkce bude užitečná zejména pokud nemáte nainstalovaných her velké množství. Pokud jich totiž máte na SSD třeba třicet, ASC zřejmě bude překompilovávat shadery všem, takže vám může ventilátor hučet poměrně dlouho, a přitom třeba velkou část z titulů zrovna nehrajete, takže není třeba jim shadery přechroustávat s každou aktualizací ovladačů. Nvidia neuvádí, zda si služba ASC kontroluje, které hry byly hrány v poslední době, aby nejdřív překompilovala ty. Do budoucna by asi stálo za to přidat nějaké nastavení, které ASC omezí jen na nedávno spuštěné hry.

Nástroj má ještě jedno omezení – spouští se vždy po instalaci ovladačů a nejde o trvale rezidentní službu. Zatím tedy neumí zaregistrovat, když nainstalujete novou hru, a zkompilovat shadery i pro ní, dokud ji nespustíte. To udělá až při nejbližší aktualizaci ovladačů a až poté, co si hra jednou shadery zkompiluje sama, aby o ní ASC získal povědomí.

Alternativa: Advanced Shader Delivery

Tento nástroj není jediným z řešení problému zdlouhavé kompilace, na kterém se teď pracuje. Microsoft tento měsíc přidal do Windows funkci Advanced Shader Delivery, která nahrazuje kompilaci shaderů na zařízení stahováním předkompilovaných shaderů z internetu. Protože shadery jsou specifické pro verze ovladačů i pro různá GPU, znamená to, že je třeba vždy předkompilovat mnoho různých verzí a smysl to má asi hlavně pro menší počet populárních variant hardwaru – funkce by tak mohla být hodně zajímavá zejména pro herní handheldy, které mívají omezené množství konfigurací.

Nvidia nicméně také má v plánu přidat do ovladačů a Nvidia App možnost shadery místo kompilování stahovat z internetu. Pro mnoho uživatelů by to mohlo být příjemnější než používání ASC. Tato funkce by se prý mohla v ovladačích objevit někdy v druhé polovině roku. Je zajímavé, že ještě před Nvidií ji už má v provozu Intel. Ten 18. 3. vydal ovladače grafik Arc verze 101.8626, které Advanced Shader Delivery používají, zřejmě jako první platforma. Je to podporována no grafikách Arc B580 a B570 (Battlemage) a na integrovaných GPU procesorů Core Ultra 200 „Lunar Lake“ a Core Ultra 300 „Panther Lake“.

AIT26

Podporu by eventuálně měl přidat i Qualcomm s procesory Snapdragon X2 Elite (funkci mají umět jejich GPU Adreno X2). Měla by zřejmě fungovat i v ovladačích Radeonů, protože i AMD ji ohlásilo. Ale zatím je zmíněná jenom pro handheldy Xbox ROG Ally, takže je otázka, zda bude využitelná i samostatnými GPU Radeon.

Zdroje: Nvidia, VideoCardzMicrosoft

Autor článku

Redaktor portálu Cnews.cz. Zaměřuje se na procesory, mobilní SoC, grafické karty, disky a další počítačový hardware. Profil autora →

Kvíz týdne

Tyto konektory zná každý. Ale víte, co jejich zkratky doopravdy znamenají?
1/9 otázek