Výkon navíc pro Turingy. Technologie Content Adaptive Shading od Nvidie otestována

29

Minulý týden byl vydán patch pro hru Battlefield V, jímž se do ní dostala první herní ray tracingová grafika akcelerovaná v reálném čase pomocí RT jader architektury Turing. Nebyla to ale jediná aktualizace, kterou by se hry přizpůsobovaly novinkám architektury Turing. Současně Nvidia také upozornila na to, že do hry Wolfenstein II: The New Colossus byla přidána podpora pro techniku Content-Adaptive Shading, jednu z novinek GPU architektury Turing. Slouží ke zvýšení výkonu a The Tech Report už stihl změřit, jak moc tato optimalizace snímkovým frekvencím dokáže pomoci.

 

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.

Variable rate shading dokáže měnit kvalitu shaderů po jednotlivých blocích obrazu
Variable rate shading dokáže měnit kvalitu shaderů po jednotlivých blocích obrazu

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.

Demo Content Adaptive Variable Shading, rozdělení bloků ve scéně (zdroj: Nvidia)
Demo Content Adaptive Variable Shading, rozdělení bloků ve scéně (zdroj: Nvidia)

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.

wolfenstein-ii-the-new-colossus-bundle

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.

Dopad optimalizace Content Adaptive Shading v benchmarku (Zdroj: The Tech Report)
Dopad optimalizace Content Adaptive Shading v benchmarku (Zdroj: The Tech Report)

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ý.

Dopad optimalizace Content Adaptive Shading v benchmarku. Tyto grafy ukazují distribuce času výpočtu snímků (Zdroj: The Tech Report)
Dopad optimalizace Content Adaptive Shading v benchmarku. Tyto grafy ukazují distribuce času výpočtu snímků (Zdroj: The Tech Report)

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ší.

Výkon navíc pro Turingy. Technologie Content Adaptive Shading od Nvidie otestována

Ohodnoťte tento článek!
4.3 (86.25%) 16 hlas/ů

29 KOMENTÁŘE

    • Takových nepotřebných věcí je v počítačových hrách spousty a světe div se pořád vidím plné diskuzer toho jak si lidi stěžují jak by se měly hry optimalizovat, pak když se probírá technologie optimalizace těch her tak lidi nadávají proč se to dělá.

      Aby hry běhaly lépe tak:

      1: můžu navýšit výkon HW
      2: můžu snížit požadavky

      V článku popisované je jedna z mnoha možností jak aplikovat bod číslo 2, hráči moc aplikovat bod číslo jedna nechtějí

    • Zrovna tato technologie se mi libi a narozdil od prakticky nepouzitelneho RT (RTX grafiky mely byt v tomto stadiu profi sfera Quadro, ne herni, kde to plati uzivatel a je mu to k ….), je tohle realne uchopitelne. Pokud teda implementace bude dobre udelana, je tu FPS navic za cenu nepozorovatelne ztraty kvality. Napr. do konzoli je toto prinos. Minimalne to dava uzivateli moznost tuto technologi pouzit, nebo kompletne vypnout. Za me si za tohle Nvidia zaslouzi pochvalu.

      • Vďaka tomu, že je podpora RTX v herných Turingoch a nie iba v profi segmente, tak sa podpora pre DXR (a tým pádom aj RTX) postupne začína pridávať do herných engine-ov už teraz. Kým mali GPU podorovať nový DX10, DX11 či DX12, malo sa najskôr čakať kým ich bude podporovať väčšina hier? Pokiaľ viem tak sa nikto nesťažoval keď si kupoval grafiku s podporou DX. ktorý sa nikdy zo začiatku nejak extra nepoužíval. Pre rýpalov, neporovnávam týmto technicky RTX a DX ako taký. Ide mi čiste iba o princíp.

        • V poradku, nemam problem s tim, ze je HW podpora RT v RTX hernich kartach. Co mi vadi je fakt, ze vzhledem k 10 rade je 20 prestrelena na, ze koncovy zakaznik tam tu technologii pekne zaplati – ale nema ji jak pouzit.
          A i kdyby v budoucnu stoupnul RT vykon napr. na 2080 na stabilnich 60 FPS ve FullHD, k cemu to je, kdyz si koupim monitor QHD, ci 4K pro zbytek her bez RT, kde cilim na vyssi FPS? Predpokladam, ze clovek s RTx 2080+ cili na vyssi rozliseni nez FullHD, to ma mit teda 2 monitory – jeden QHD a druhy FullHD na RT hry? Proc ma koncovy zakaznik platit Nvidii za neco, co je v teto generaci cipu uzivatelsky prakticky nepouzitelne (na rozdil od vyvoje a vypocetnich uloh – Quadro)?

      • Vykon raytracingu v Battlefieldu je aktualne ovlivneny bugem. Neda se zatim brat jako priklad:

        https://www.nvidia.com/en-us/geforce/news/battlefield-v-rtx-ray-tracing-out-now/

        *We recommend in this first release of DXR that “DXR Raytraced Reflections Quality” be set to “Low” due to Battlefield V’s known issues when using “Medium”, “High”, and “Ultra” settings. EA, DICE, and NVIDIA will also continue to optimize this implementation and deliver regular updates.

  1. Je to pár FPS navíc v podstatě za nic a žádné grafické neduhy to nezpůsobuje. Navíc podle videí na youtube dosahuje rozdíl i třeba 30fps v závislosti na scéně. Za mě rozhodně super. Určitě lepší než RTX, které obětuje 50% výkonu pro 5% vizuálu.

    • „V podstatě za nic?“ To by snad platilo kdyby se to nemuselo individuálně implementovat v každé hře (její scénách?). Jestli to šetří výkon až od n+1 snímku tak to asi pomůže spíš průměrům než minimům. Těžko říci zda bude reálné to zapnout včas pouze před náročnou scénou.

    • To „V podstatě za nic“ jsem myslel z pohledu hráče, kterému to stačí zapnout a má pár FPS navíc jen za možnou nepozorovatelnou ztrátu kvality. Samozřejmě, že pokud se to musí nějak složitě ručně implementovat tak je to pro vývojáře asi celkem otravná práce, ale ruku na srdce, to hráče vůbec netrápí. Každá optimalizace si žádá svůj čas lidi. Teď bude jen záležet jestli se trochu výkonu navíc vývojářům vyplatí.

      Já vím k čemu je RTX 😀 šlo mi o srovnání celkového přínosu těch technologií.

  2. Clanek jsem nehodnotil. Na jednu stranu autor vyzdvihuje prinos vyssiho vykonu, na druhou stranu opomiji fakt, ze nekde se proste muselo setrit a tak je to na ukor kvality vykreslene sceny. Pokud typicky NVidia fans namitne, ze to skoro neni poznat, tak co je v zapalu hry poznat? Rozdil AA mezi 4x a 16x? Asi ne. Taky by clovek mohl rict, ze je mozno si to snizit.
    Proste jak uz jsem to komentoval vedle, NVidia vydala radu RTX pro hrani na low v 1080p, takze nic co bych ja chtel.

    Na druhou stranu se mi v clanku libi, ze je napsano, ze to pujde vypnout. Pro me teda dulezita informace, kterou jsem jinde necetl. Tenhle „efekt“ totiz rozhodne nechci a teda pokud selze konkurence a i dalsi grafiku budu mit od NVidie, tak s tim nebudu mit problem, vypnu to.

      • Vážne tu popisovný Adaptive Shading porovnávaš s nastavovaním deatailov v menu hry? 🙂 Pokiaľ si dobre pamätám, tak pracuješ v Unity a predpokladám, že nie si iba klikač, ktorý nevie čo robí. Takže by som čakal, že rozdiel medzi tým čo porovnávaš ti bude nejak prirodzene jasný. 🙂

        • Mne na tom prijde vtipna jina vec..uvodni implementace, tudiz prvotni odezva zase vyjde celkem do prazdna pro NV. Wolfenstein je zrovna z tech her, kdy i ve 4k ma dost fps, takze par snimku sem nebo tam je vlastne sumak. Svym zpusobem podobna historka jako s uvedenim nedostatecne vykoneho, zabugovaneho RT v BF 5. Tenhle podzim NV nevychazi..

    • 1) čumím že tady někdo jako hodnotí články, to jako fakt? Zbytečný na to klikat.
      2) RedMarx se zase včera pil a teď píše z kocoviny bláboly. nVidida vydala karty na kterých si zahrajete na ultra s ultra raytracingem v 1080p, nebo na ultra ve 4K bez raytracingu a nebo na ultra v 1080p s low raytricngem. Ale low1080p s lowraytracingem nebo low1080p s ultra raytracingem nedává smysl a ne technicky sice proveditelný ale zbytečný.

      • Je to uzasny, jak skvele muzes hrat na NVidii v 1080p. Jenze tam ja necilim, chtel bych vzhledem ke hram, ktere hraju, opravdu plne detaily, chtel bych 60FPS na 1440p nebo do budoucna i na 4K.
        Jenze tohle NVidia zatim nesplnuje, takze kupovat na hrani 4K monitor moc nema smysl, kdyz to nakonec neda plne detaily a bude to ojebavano technologiema jako Content Adaptive Shading.
        Samozrejme porad je NVidia nejlepsi, to je bez diskuze, jenze prinos Turingu oproti Pascalu je proste maly a ocekavani byla mnohem vetsi.
        Jednoduse nemohu byt nadsen ze soucasne dosahovaneho vykonu, ktery je vzhledem ke 4K nedokonaly. A to teda porad nemame opravdu kvalitni displeje pro VR, coz bude dalsi vyzva i pro dostatecny vykon grafik a procesoru.