Seznam kapitol
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.
Zaměřeno na výkon
Pokud jste se už někdy někde na internetu pídili po tom, o kolik fps nás vlastně funkce DSR (resp. jedna její část – downsampling) obírá, nejspíše jste nějakou jednoznačnou odpověď nenašli. Někteří testeři uvádějí 1 %, jiní zase 3 % a další zase překvapivě 0 %. Věřte nebo nevěřte, všechny tyto hodnoty jsou vlastně správně! Jak je to možné?
Nejjednodušší způsob, jak zjistit dopad DSR downsamplingu, je takový, že si v nějaké hře změříme průměrnou snímkovou frekvenci při zapnutém DSR a následně toto měření opakujeme, tentokrát ale bez funkce DSR na monitoru s vysokým rozlišením. Výkonnostní rozdíl těchto měření pak musí jít na vrub downsamplingu.
Dobrá tedy. Vzali jsme grafickou kartu GTX 970 a zapnuli jsme DSR na rozlišení 2K (2560×1440) a měřili jsme hru Alien: Isolation. Průměrná snímková frekvence při zapnutém DSR byla 86,2078 fps. Ta samá měření jsme následně provedli bez DSR na 4K monitoru s výsledkem 88,269 fps. Mohli bychom tedy říci, že downsampling nás stál 2,0612 fps, což je 2,34 % výkonu.
Stejná měření jsme provedli tentokrát ve hře Crysis 3. Průměrná snímková frekvence byla při zapnutém DSR 33,5268 fps a při vypnutém DSR pak 33,8748 fps. Tentokrát byl rozdíl 0,348 fps, což představuje 1,03 % výkonu.
Vidíte, dvě hry a dva různé výsledky. Abychom zjistili, jak to tedy vůbec je a dali věcem nějaký řád, budeme muset přestat přemýšlet v intencích snímkové frekvence a začít přemýšlet ve veličinách zvaných latence. Latence GPU jsou něco, o čem si dnes povíme pouze v nutných základech, ale nebojte, až přijdou články o měření plynulosti pohybu v počítačových hrách nebo o požadavcích virtuální (nebo rozšířené) reality, která se pravděpodobně stane hitem příštího roku, počítání latencí si užijeme ještě do sytosti.
Co jsou to tedy latence? Latence GPU (nebo snímku) má jednoduchou definici – je to doba, kterou grafická karta potřebuje k vykreslení jednoho snímku do frame bufferu a je měřena v milisekundách. Čím je latence nižší, tím je snímek na GPU vykreslen rychleji a snímková frekvence tak stoupá. Samozřejmě vše platí také naopak.
DSR pracuje ve dvou časových fázích. V první fázi je celý snímek vykreslen do vysokého rozlišení a ve fázi druhé je na hotovém snímku proveden downsampling. Latence snímku u DSR je tedy dána součtem času renderingu a downsamplingu.
Zatímco (průměrný) čas renderingu je jiný pro každou hru, čas downsamplingu by měl být na dané grafické kartě a virtuálním rozlišení konstantní. Post-processingový downsampling totiž pracuje vždy s konstantním počtem pixelů na vstupu i na výstupu. Pokud máme zapnuté DSR 4K na monitoru s nativním rozlišením 1920×1080, pak u každého snímku je prováděn post-processingový downsampling z 3840×2160 (8 294 400 pixelů) na 1920×1080 (2 073 600 pixelů) a měl by být tedy proveden u každého snímku ve stejném čase.
Stejně tak můžeme předpokládat, že pokud při testech použijeme nějakou výkonnější grafickou kartu, pak by doba downsamplingu měla být úměrně kratší, než doba downsamplingu na grafické kartě méně výkonné.
Dost ale teoriím a pojďme k samotným měřením. Protože budeme měřit čas downsamplingu snímku, který se pohybuje v řádu desetin milisekund, je třeba, aby naše měření byla v rámci našich možností co možná nejpřesnější. Proto budeme provádět měření pouze v takových hrách, které mají vestavěný vlastní in-game benchmark, protože takovéto benchmarky poskytují velmi konzistentní výsledky. Naše testovací scény budou tedy pocházet z her
Alien: Isolation
,
Crysis 3
a
Battlefield 4
.
Pro dosažení vyšší přesnosti budeme všechna měření provádět 5× a výsledky následně průměrovat. Za pomoci FRAPSu budeme měřit průměrnou snímkovou frekvenci, kterou následně převedeme na průměrnou latenci v milisekundách (podle vzorce
1000 / fps
). Rozdíl mezi průměrnou latencí snímků při zapnutém DSR a průměrnou latencí snímků při nativním renderování by pak měl být čas downsamplingu, tedy to, co nás zajímá.
Pro testy použijeme jednu grafickou kartu s nižším výkonem, kterou bude zastupovat
MSI GTX 970 Gaming
. Druhou a výkonnější grafickou kartou v našich testech pak bude
EVGA GTX Titan X
, na které si ověříme, zda platí náš předpoklad, že by doba downsamplingu měla být úměrně zkrácena u grafické karty s vyšším výkonem. Zde jsou výsledky našich měření.
MSI GTX 970 Gaming 4G
| Rozlišení 2560x1440 | Alien: Isolation | Crysis 3 | Battlefield 4 |
| DSR průměrné fps | 86,2078 fps | 33,5268 fps | 48,8166 fps |
| DSR průměrná latence | 11,59988 ms | 29,82688 ms | 20,48484 ms |
| Nativní průměrné fps | 88,269 fps | 33,8748 fps | 49,5538 fps |
| Nativní průměrná latence | 11,32901 ms | 29,52047 ms | 20,18009 ms |
| Downsampling | 0,270873 ms | 0,306415 ms | 0,304748 ms |
| Rozlišení 3840x2160 | Alien: Isolation | Crysis 3 | Battlefield 4 |
| DSR průměrné fps | 46,9594 fps | 19,4034 fps | 31,2202 fps |
| DSR průměrná latence | 21,29499 ms | 51,53736 ms | 32,03054 ms |
| Nativní průměrné fps | 47,6718 fps | 19,5042 fps | 31,4908 fps |
| Nativní průměrná latence | 20,97676 ms | 51,27101 ms | 31,75531 ms |
| Downsampling | 0,318229 ms | 0,266351 ms | 0,275238 ms |
Dle našich měření se průměrná doba downsamplingu na grafické kartě GTX 970 pohybuje v rozmezí od 0,266351 ms do 0,318229 ms. V průměru ze všech testovaných her a rozlišení pak doba downsamplingu vychází na
0,290309 ms
.
EVGA GTX Titan X 12 GB
| Rozlišení 2560x1440 | Alien: Isolation | Crysis 3 | Battlefield 4 |
| DSR průměrné fps | 136,264 fps | 54,6556 fps | 78,063 fps |
| DSR průměrná latence | 7,338695 ms | 18,29639 ms | 12,81017 ms |
| Nativní průměrné fps | 140,0484 fps | 55,0904 fps | 79,2334 fps |
| Nativní průměrná latence | 7,140389 ms | 18,15198 ms | 12,62094 ms |
| Downsampling | 0,198307 ms | 0,144404 ms | 0,189226 ms |
| Rozlišení 3840x2160 | Alien: Isolation | Crysis 3 | Battlefield 4 |
| DSR průměrné fps | 76,4752 fps | 32,3792 fps | 50,8428 fps |
| DSR průměrná latence | 13,07613 ms | 30,88402 ms | 19,66847 ms |
| Nativní průměrné fps | 77,5642 fps | 31,9844 fps | 51,3184 fps |
| Nativní průměrná latence | 12,89255 ms | 31,26524 ms | 19,48619 ms |
| Downsampling | 0,183589 ms | -0,38122 ms | 0,18228 ms |
Průměrná doba downsamplingu na grafické kartě GTX Titan X za všechny hry a rozlišení je dle očekávání nižší v podobě
0,179561 ms
. Z průměru jsme vyloučili výsledek Crysis 3 v rozlišení 3840x2160, ale o tom ještě bude řeč dále.
Naše měření nemohla být úplně přesná, nicméně svůj účel jistě splnila. Výsledky ukazují, že doba, po kterou grafická karta provádí downsampling, se zdá být opravdu konstantní (s přimhouřením obou očí) a přímo úměrná výkonu GPU. Na grafické kartě GTX 970 je tato doba rovna cca
0,29 ms
a na GTX Titan X pak cca
0,18 ms
.
Pokud je tedy při DSR doba downsamplingu konstantní složkou latence snímku, znamená to, že její podíl na latenci je tím vyšší, čím je latence snímku nižší a naopak. Zní to trochu kostrbatě, ale příklad snad vysvětlí vše.
Půjdeme tedy do extrému a řekněme, že jsme s grafickou kartou GTX 970 v nějaké imaginární hře se zapnutým DSR naměřili průměrnou snímkovou frekvenci 200 fps. To značí průměrnou latenci ve výši 5 ms, která se bude skládat z času renderingu 4,71 ms a času downsamlingu 0,29 ms. Downsampling se tak na celkové latenci podílí 5,8 %, což oproti nativnímu renderingu znamená ztrátu 12 fps.
Vezmeme-li extrém opačný a řekneme, že jsme v jiné hře naměřili při zapnutém DSR a GTX 970 průměrnou snímkovou frekvenci 20 fps, což představuje průměrnou latenci 50 ms, která se bude skládat z času renderingu 49,71 ms a času downsamplingu 0,29 ms. Doba downsamplingu se pak na celkové latenci podílí pouze 0,58 %, tedy zanedbatelně. Oproti nativnímu renderingu jsme přišli na snímkové frekvenci o pouhých 0,12 fps.
Vidíte, že zde opravdu platí pravidlo: Čím nižší latence (vyšší snímková frekvence), tím se na výsledku více negativně projeví čas downsamplingu a výsledek je oproti nativnímu renderování na monitor s vyšším rozlišením méně přesný (větší chyba měření).
My bychom si mohli pomocí latence dokonce i vypočítat, jakou nejvyšší snímkovou frekvenci lze ještě při měření pomocí DSR tolerovat, abychom se nedopustili chyby měření řekněme více jak
3 %
proti nativnímu renderingu na monitor s vysokým rozlišením.
1000 / (0,29 x 100 / 3) =
pro GTX 970
1000 / (0,18 x 100 / 3) =
103,5 fps 166,6 fps
pro GTX Titan X
Suma sumárum, pokud by vaše otázka zněla, zda můžete pokládat svá měření ve vysokém rozlišení pomocí funkce DSR za věrohodná a srovnatelná s měřeními přímo na monitoru s vysokým rozlišením, pak odpověď by zněla
ANO
.
Pokud hra nebude generovat příliš vysokou snímkovou frekvenci, řekněme nad 100 fps, což zase až tak moc nehrozí a u 4K rozlišení na současné generaci grafických karet pak už vůbec ne, můžete s klidným srdcem svá měření pomocí DSR považovat za validní a poměrně velmi přesná.
A tímto závěrem bychom mohli také dnešní článek ukončit. Ale počkat, co to měření na Titan X a Crysis 3 v rozlišení 4K, tam přece něco nesedí? Jak je možné, že tam ty výsledky měření pomocí DSR podávají vyšší snímkovou frekvenci než bez DSR?
Máte pravdu, nic není až tak úplně jednoduché a vždy se nějaká ta výjimka najde. Věřte, že to není chybou měření, vše jsme měřili několikrát a vždy jsme dopadli s tímto výsledkem. Co je tedy příčinou tohoto nečekaného výsledku měření? S největší pravděpodobností za všechno může
Boost
u grafické karty Titan X v kombinaci s DSR downsamplingem!
Crysis 3 je opravdu velmi náročnou hrou a v rozlišení 4K pak ještě o to více. Při nativním renderingu do 4K tam jede grafická karta na plné obrátky a prakticky nemá ani na chvilku čas si odpočinout. Titan X je zas grafická karta s poměrně nízko umístěným power limitem a při takovém zatížení ho také velmi brzy dosáhne a shazuje napětí a frekvence.
Při renderingu pomocí DSR je to trochu jiné. Víme, že tvorba snímku je rozdělena na dvě části – rendering a downsampling. Rendering je stejně velmi náročný jako u nativního renderingu, nicméně po této fázi přichází na řadu absolutně nenáročný downsampling. Doba downsamplingu je sice krátká, ale zřejmě je dostatečně dlouhá na to, aby si za tu dobu grafická karta odpočinula a nabrala nových sil do dalšího snímku. Power limitu tedy dosahováno tak často není a grafická karta si může dovolit vyšší frekvence. Ty jsou pak příčinou také vyšší snímkové frekvence při zapnutém DSR.
Takže, opravdu ne vždy je DSR pouze konzumentem výkonu, ale někdy, ve speciálních případech a za určitých podmínek, může nějaký ten kousíček výkonu grafické kartě dokonce také přidat.
Ale to je pro dnešek už opravdu vše. V jedné z dalších recenzí se potkáme i u recenze grafické karty GTX 980 Ti, kde uvidíte, jak právě onen posunutý power limit, společně s vyšší frekvencí, dokonce znectí nejvýkonnější grafickou kartu GTX Titan X.