CASO: 16 % FPS navíc i bez MUX čipu
Tématem notebooků se samostatnou grafikou a ztrátou výkonu u modelů bez tzv. MUX čipu jsme se zaobírali již před dvěma lety. Situaci můžete připomenout v odkazu níže…
…a nebo ve vší stručnosti zde. Základní kámen úrazu tkví ve faktu, že v sestavách jsou přítomné dva grafické čipy, které se oba nějakým způsobem podílejí na zobrazování obsahu na jedné obrazovce. Integrovaná grafika zpravidla ve 2D a při videu, samostatná grafika ve 3D / hrách. Protože by obrazovka s mechanickým přepínačem (kterým by si uživatel volil, ze kterého čipu bude zobrazovat) nebyla příliš praktická a životnost nejspíš nebyla valná, je přepínání řešeno automaticky. Možnosti implementace jsou dvě. Ta levnější spočívá v připojení obrazovky k integrované grafice a odesílání dat ze samostatné graficky do integrované po sběrnici (níže, situace uprostřed).
To je sice jednoduché, elegantní a na náklady levné, ovšem z hlediska hráče ne zcela optimální. Přesuny dat vyžadují určitou synchronizaci, což stojí výkon a latence, a navíc mají i nějaké energetické nároky navíc, což omezuje energetický rozpočet pro samotnou diskrétní grafiku (což znamená ztrátu dalších FPS). Staré notebooky toto obvykle řešily tzv. MUX čipem, který přepínal, zda obrazovka bude zobrazovat obsah ze samostatné nebo integrované grafiky. Jenže toto řešení příliš nepočítalo s možností, že si k notebooku uživatel připojí samostatný monitor. Moderní řešení, ovšem dražší, proto přítomné jen na lépe vybavených noteboocích, disponuje MUX čipy jak pro integrovanou obrazovku, tak externí výstup.
Výhodou MUX čipu je, že nedochází k přesunům dat mezi grafikami a jejich pamětmi. Jinými slovy propad výkonu se nekoná. Jenže drtivá většina notebooků s integrovanou grafikou tímto luxusem vybavena není, takže k propadu výkonu a nárůstu latencí dochází.
S řešením nazvaným CASO (Cross Adapter Scan-Out) přišel Microsoft. Přepracoval softwarové řešení pro přesun obrazu mezi grafickými jádry a zjednodušil synchronizaci tak, aby se pracovalo pouze s jednou kopií renderovaného obsahu. Výsledkem je, že průměrné FPS jsou o 16 % vyšší než s klasickým řešením, zároveň klesly latence o 27 % a navíc o 45 % klesl počet chyb typu TDR (Timeout Detection and Recover Events).
CASO funguje automaticky s Windows 11. Již v roce 2021 bylo implementováno pro DirectX 11, teprve letos však došlo k rozšíření i pro DirectX 12. Funguje na procesorech Intelu 11. generace a novějších s ovladači podporujícími WDDM driver model 3.0, na procesorech AMD (Ryzen 6000 a novější s ovladači podporujícími WDDM driver model 3.1) a na grafických kartách Nvidie s ovladači řady r515 a novějšími.
Nedá se očekávat, že by CASO dostalo FPS na stejnou úroveň jako přímé připojení obrazovky k renderujícímu GPU, ale u většiny her to bude znamenat podstatné přiblížení tomuto stavu.