reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Nvidia DSR: jaký má vliv na výkon?

20.8.2015, Pavel Šantrůček, recenze
Nvidia DSR: jaký má vliv na výkon?
Funkce Dynamic Super Resolution je tu s námi v ovladačích grafických karet Nvidia již nějaký ten pátek, ale víte o této funkci opravdu všechno? Třeba jaké jsou dopady na výkon při využití této funkce? Pokud ne, možná Vám tento článek prozradí něco nového.
Kapitoly článku:
  1. Úvod do DSR
  2. Zaměřeno na výkon

Úvod do DSR


Článků kolen funkce DSR (Dynamic Super Resolution), která je v ovladačích grafických karet společnosti Nvidia přítomná od vydání grafických karet GTX 980 a GTX 970, bylo na různých internetových magazínech publikováno již poměrně velké množství, ne vždy však byly podané informace zcela korektní. Z tohoto důvodu jsme se rozhodli pro zveřejnění vlastního článku, který je zaměřen právě na Nvidia DSR, zejména pak na výkonnostní dopady této funkce při hraní a testování počítačových her.

Každý, kdo se o problematiku Nvidia DSR zajímal, jistě ví, k čemu je vlastně tato funkce určena. Pro ty, kteří se s touto funkcí ještě dosud nesetkali, by pak na úvod stačilo říci, že cílem této funkce je především zlepšit kvalitu obrazu na monitorech, které disponují nižším rozlišením.


DSR


Kdo četl náš článek o grafické pipeline a zejména pak o procesu rasterizace už ví, že čím menší je rastrová mřížka (rozlišení), do kterého je výsledný obraz renderován, tím viditelnější jsou poruchy obrazu (Aliasing), zejména pak na „zubatých“ hranách objektů (Jagged Edges). Na odstranění, nebo lépe řečeno zmírnění těchto „jaggies“, je pak nutno provést v grafické pipeline ještě další krok nazvaný anti-aliasing.

Na druhou stranu, pokud zvolíme rendering do rastru dostatečně jemného (s vyšším rozlišením), není třeba se následným anti-aliasingem vůbec zabývat. Navíc, textury jsou na objekty mapovány s vyšším rastrem daleko jemněji, a proto i výsledný obraz se jeví jako mnohem kvalitnější. Dá se tedy říci, že s vyšším rozlišením se úměrně snižují nároky na potřebu anti-aliasingu.


Anti-aliasing


Druhou stranou mince tohoto přístupu je však ohromné množství dat, které grafická karta v procesu resterizace musí zpracovat. Příkladně změna rastru z rozlišení 1920×1080 pixelů na 3840×2160 pixelů znamená, že Rasterizér, Pixel Shader společně s ROP jednotkami se musí postarat o čtyřnásobné množství pixelů a věřte, že to už současné grafické karty opravdu bolí.


Graf výkonu


Dnešní počítačové hry nabízejí různé formy anti-aliasingu. Od nejnáročnějšího Super Samplingu, přes méně náročný Multi Sampling, až po různé druhy jednoduchých post-procesingových filtrů, které jsou realizované pomocí shaderů. Některé hry, zejména ty starší, však žádnou formu anti-aliasingu implementovanou mít nemusí, a pokud nemáte monitor s vysokým rozlišením, zubaté hrany „jaggies“ se tak stávají nedílnou součástí těchto her.

Kupovat kvůli takovýmto hrám nový 4K monitor jen proto, abyste kvůli odstranění aliasingu mohli ve hře nastavit vyšší rozlišení, by bylo poněkud drahým špásem. Jistě, mohli byste se ještě v ovladačích pokusit vynutit MSAA (většinou však neúspěšně), nebo použít nějaký post-processingový filtr „rozmazávač“ přítomný v ovladači, ale to je opravdu to jediné, co jste měli před příchodem DSR na výběr. Navíc, co si budeme nalhávat o kvalitě těchto post-processingových filtrů, že?

Hlavním úkolem DSR je tedy umožnit renderování her do rozlišení vyššího, než jaké fyzicky dovoluje váš připojený monitor, čímž se zbavíte aliasingu. Následně je však nutné obraz z tohoto vysokého rozlišení převést zpět do rozlišení, které je již vaším monitorem nativně podporováno a tomuto kroku se říká Downsampling nebo Subsampling. Výsledný obraz by pak měl být svou kvalitou hodně podobný obrazu, na který jsme zvyklí u monitorů s vyšším rozlišením.

O technické stránce DSR nebyly samozřejmě zveřejněny úplně všechny informace, nicméně dá se předpokládat, že to vše funguje následujícím způsobem.

Pomocí ovladače grafické karty je Windows a DirectX „nalháno“, že k počítači připojený monitor podporuje i další (vyšší) rozlišení, než kterým opravdu fyzicky disponuje.


DSR faktory


Ve hře pak můžete jednoduše nastavit toto „virtuání“ rozlišení, do kterého je hra následně renderována.

Když je snímek vykreslen do vyššího rozlišení, musí se grafická karta následně postarat také o zpětný downsampling. Pokud by tak neučinila, na monitoru počítače by se zobrazila pouze část obrazu. Samotný downsampling je proveden zřejmě za pomoci subsamplingu s přefiltrovaným obrazem pomocí Gaussian filtru tak, že nejdříve je aplikován Gaussian filtr (13-tap) pro zjemnění obrazu a odstranění nežádoucích frekvencí a následně je proveden subsampling do rozlišení nižšího, tedy obdobně jako u HD videa, které přehráváte na obrazovce HD Ready (720p). Stupeň „rozostření“ Gaussian filtru je pak možno navolit přímo v ovladači grafické karty. Hotový výsledný obraz je ve finále odeslán na monitor počítače.


DSR vyhlazení


Komu se zdá, že DSR je vlastně jakási obdoba Super Samplingu (Oversamplingu), má jistě pravdu, i když rozdíly se tu samozřejmě najdou. SSAA implementují do hry samotní vývojáři a mají k dispozici také programovou volbu pozic vzorků pro rasterizér, kdežto u DSR se jedná o čistý rendering do vyššího rozlišení.

Společnost AMD má ve svých ovladačích grafických karet (od Radeonu HD 7790 výše) implementovánu funkci podobnou DSR s názvem VSR (Virtual Super Resolution). Vše funguje obdobně jako u DSR a rozdíl je pouze ve způsobu řešení downsamplingu, tedy převedení obrazu do nižšího rozlišení. AMD zde chytře využívá hardwarový downsampling video kontroléru grafické karty, takže výkonnostní penalizace je zde prakticky nulová. Na druhou stranu jsou však u VSR podporovány pouze taková virtuální rozlišení a obnovovací frekvence, které podporuje právě onen konkrétní video kontrolér dané grafické karty.


AMD VSR

DSR se tedy zdá být poněkud univerzálnějším řešením než VSR, protože libovolná virtuální rozlišení zvládne jakákoliv grafická karta bez rozdílu použitého video kontroléru. Stinnější stránkou této univerzálnosti jsou však výkonnostní dopady při downsamplingu. Protože DSR řeší downsampling softwarově pomocí výpočetních jednotek grafické karty, je asi každému z vás jasné, že to nějaký ten dopad na výkon mít musí.

Abychom tuto kapitolu nějak ukončili, je třeba rekapitulovat. Funkce DSR (i VSR) tedy přináší vyšší kvalitu obrazu na monitory s nižším rozlišením. Aby však byl tento obraz dostatečně kvalitní, je třeba zvolit co nejvyšší rozlišení, nejlépe 4K (3840×2160). Protože renderování her do takto vysokého rozlišení s sebou přináší obrovský výkonnostní propad, vyplatí se tuto funkci využít pouze u starších her, tedy u takových, které nemají implementován vlastní anti-aliasing a současně generují dostatečné vysokou snímkovou frekvenci.

Funkci DSR (VSR) můžeme však ještě využít i k jinému účelu. Představte si, že byste se rádi pochlubili přátelům výsledky své grafické karty v rozlišení třeba 4K, ale bohužel nejste vlastníkem 4K monitoru. Není nic jednoduššího, než zapnout DSR/VSR, grafickou kartu otestovat ve virtuálním rozlišení 4K a začít se chlubit. Protože už víme, že u funkce DSR je downsampling řešen softwarově přes shadery grafické karty s nějakým tím dopadem na výkon, bude ale potřeba nejdříve zjistit, o jak velký dopad se to vlastně jedná, aby naše výsledky byly dostatečně přesné. A právě o tom je následující kapitola.
reklama