Adaptivní rozlišení shaderů pro vyšší výkon
Content Adaptive Shading je trik, používající schopnost Turingů počítat shadery v jednom snímku s různou kvalitou, což se označuje jako Variable Rate Shading. V rámci scény lze snížit efektivní rozlišení, na kterém jsou shadery aplikovány. Jde o něco podobného subsamplingu, kdy se rozlišení sníží a efekt shaderu je vypočítáván pro blok 2×2, 4×4, 1×2/2×1 či 4×2/2×4 pixelů místo jednoho pixelu. Zóny, kde lze rozlišení redukovat, určuje typicky programátor.
Content Adaptive Shading je odvozen od stejného principu, odlišnost spočívá v tom, že hra sama detekuje a určuje, jak moc se může v určitém bloku (stále 16 × 16) kvalita snížit, a to podle jeho obsahu. Hra provádí na konci zpracování snímku postprocesing, jehož úkolem je zanalyzovat charakter bloku a rozhodnout automaticky, zda a jak moc se pro něj v příštím snímku může zredukovat kvalita shaderů (pro aktuální snímek už je na redukci v tu chvíli pozdě). Toto rozhodnutí je učiněno například na základě úrovně detailů v daném bloku (scéna se dělí na bloky 16 × 16 pixelů). A tato analýza a pak aplikace variabilní kvality shaderů v příštím snímku probíhá cyklicky neustále. Smyslem je samozřejmě uspořit výkon potřebný pro aplikaci všech shaderů ve scéně a tím zkrátit zpracování snímku a navýšit snímkovou frekvenci.
Na těchto snímcích můžete vidět příklad toho, jak má rozdělení scény fungovat – bloky bez barevné výplně ukazují ty, které algoritmus vyhodnotil jako ty, které se mají počítat s plnou kvalitou. Barevné pak byly vybrány pro různou úroveň sníženého rozlišení shaderů (červená znamená nejnižší rozlišení). Jde o scénu ve hře Wolfenstein II, ale snímky jsou přímo od Nvidie, jde tedy o jakousi prezentační ukázku.
Smyslem této optimalizace je zachovat obrazovou kvalitu bez znatelných změn, ale tato optimalizace není úplně „bezeztrátová“. Ve Wolfeinsteinu II je proto možné zvolit tři úrovně – Performance, Balance a Quality. Ty by měly zastupovat tři různé úrovně kompromisu mezi výkonnostním ziskem a případnou degradací vizuální podoby hry (Quality logicky vydře nejmíň výkonu, Performance nejvíc, a Balance je někde mezi). Kromě toho by se v režimu Custom mělo dát chování nastavit podrobněji.
Drobné zvýšení výkonu, které se ale hodí a počítá
The Tech Report otestoval jak průměrné snímkové frekvence, tak plynulost hry s těmito nastaveními. Z těch vyplývá, že Content Adaptive Shading nepřináší sám o sobě nějaký revoluční nárůst výkonu (což se ale asi dalo čekat). Zvyšuje ale konzistentně ýkon o několik procent. Tudíž jde o užitečnou techniku, která se může přidat k dalším optimalizacím, které vývojáři používají, a přispět k celkovým výkonnostním ziskům. Pro získání dostatku výkonu třeba pro 4K hraní s vysokými snímkovými frekvencemi tedy půjde o užitečnou trošku do mlýna.
A není až tak malá. V rozlišení 3840 × 2160 s kartou GeForce RTX 2080 Ti získá nastavení CAS Performance 5,7 % ve snímkové frekvenci (Quality a Balance pak 1–3 %). Na GeFore RTX 2070 jsou dopady o něco vyšší: nastavení Performance získává 7 % (77 FPS místo 72 FPS), Quality a Balance pak 3–4 %. Zhruba podobně to vypadá u RTX 2080. Je ovšem třeba říct, že tyto karty asi nemají nějaký výrazný nedostatek výkonu shaderů. V jiné hře, kde by jím trpěly, by zisk z implementace Content Adaptive Shadingu mohl být asi vyšší. Nebo to lze vzít naopak – pomocí takovéto techniky by vývojáři mohli do scény dostat více efektů při stejném výkonu.
Content Adaptive Shading má podobný pozitivní vliv na čas potřebný k vykreslení 1% nejpomalejších snímků, takže trošku přispívá k plynulosti. Ani zde to není podle Tech Reportu nějaký dramatický efekt. Stejně jako na FPS má ale tato optimalizace konzistentní pozitivní vliv, takže nelze nic namítat. Zejména se 120Hz a 144Hz monitory se tento efekt hodí víc, protože čas trvání jednoho snímku je s nimi hodně krátký.
Content Adaptive Shading je doporučeno zapnout
Podle Tech Reportu nebyly při testování patrné nějaké viditelné degradace obrazové kvality a doporučuje proto mít tuto optimalizaci vždy zapnutou (máte-li kartu GeForce RTX). Takže implementace je zřejmě povedená a v podstatě bez negativ. Je ovšem také třeba podotknout, že Wolfenstein II: The New Colossus je úplně první hra, do které se tato optimalizace dostává. Je tedy možné, že časem se ji povede vyladit víc a někdy v budoucnu budou nárůst FPS výraznější.