Proč netestovat Crysis 2 (a o metodice testů grafických karet obecně)

24. 8. 2011

Sdílet

 Autor: Redakce

S názorem, že Crysis 2 na Ultra detaily by se neměl testovat, nebo by se alespoň neměl započítávat do výsledných průměrů, jsem očividně v menšině. Pokusím se vám vysvětlit, proč je to opravdu špatný nápad a vypovídací hodnotě testů to spíše ublíží než pomůže. Tuším, že za tenhle blogpost mi hrozí příslovečná smršť vržené zeleniny, vzhledem k tomu, že nejsem recenzentem grafických karet, mám pověst zaujatosti vůči Nvidii a z Crysis 2 jsem nebyl dvakrát nadšen. Přesto, nebo snad právě proto, jsem se rozhodl jej napsat. Problematika to totiž vůbec není jednoduchá a zde mohu své argumenty vysvětlit obšírněji, než mi umožňuje diskuze.

Metodika – důležitější, než testy samotné

Které hry benchmarkovat, v jakém nastavení a v jakých lokacích, to je stěžejní otázka, kterou musí vyřešit každý recenzent grafických karet, než začne testy vůbec spouštět. Navzdory tomu neexistuje příliš rigorózní proces, jakým metodika vzniká. To se prostě vyberou hry, které se hodně hrají, mají vysoké hodnocení v recenzích a jsou dostatečně graficky náročné; aby se testy neskládaly pouze z monokultury first-person stříleček, bývá snaha zařadit do sestavy alespoň jednoho zástupce od ostatních žánrů (strategie, závody).

V posledních několika letech se stalo zvykem v závěrečném shrnutí uvádět grafy průměrného výkonu a z nich odvozené grafy poměru výkon/cena. Oproti situaci, kdy jste museli celou recenzi poctivě prolistovat a dělat si čárky, v kolika hrách zvítězil ten či onen kandidát na koupi, je souhrnný graf daleko pohodlnější. Dobří recenzenti ale vědí, že závěrečný graf je jen přesným součtem nepřesných čísel a že se graf neobejde bez dalšího komentáře těch vlastností karet, které testy nezachytí.

Tichá dohoda

Otevřete-li jakoukoliv recenzi grafických karet, vyjma výběru her a lokací existuje prakticky jednotný standard, jakým se testy provádí. Za prvé se měření provádí na co možná nejvýkonnějším procesoru s dostatkem operační paměti, aby byl maximálně omezen vliv testovací sestavy na výkon karet. Dnes už tento způsob nikdo nezpochybňuje, ještě tak před pěti lety se ale sem tam ozývaly hlasy, že by se karty měly otestovat na slabším procesoru, aby to byl reálný scénář. Nutno dodat, že to svůj merit má, pokud ovladače jednoho výrobce mají větší režii, což se projeví právě v případě, že limitem sestavy je procesor. Testy provedené na „sestavě typického uživatele“ ale zpravidla nebývají příliš čtenářsky zajímavé, neboť slabý procesor nedokáže výkonnější karty oddělit od sebe.

Další všeobecně uznávanou „best practice“ je nastavování detailů ve hře na nejvyšší možné (výjimky nicméně existují, například první F.E.A.R. se testoval také s vypnutými extrémně náročnými soft shadows, v ne tak dávné minulosti se prováděly testy s efektem SSAO a bez něj). Opět je to proto, aby brzdou testovací sestavy byla grafická karta a ty nejvýkonnější modely mohly patřičně vyniknout.

Stejnou metodikou se však testují i levnější karty. Jejich framerate pak ve stejném nastavení často padá hluboko pod hranici hratelnosti. Ani na to si nikdo nestěžuje, přeci nejde o reálnost testu, ale o relativní srovnání. A podmínky mají všechny karty stejné. Nebo ne?

Testování silnějších i slabších karet stejnou metodikou stojí na jednom základním předpokladu, a sice že relativní výkon jednotlivých akcelerátorů v dané hře se v závislosti na zvolené úrovni detailů nemění, nebo mění jen minimálně – zkrátka že pokud je karta A na vysoké detaily výkonnější než karta B, bude stejný poměr platit i při nízkých detailech. Nikdo přitom pořádně neví, zdali tento předpoklad platí; unifikovaná metodika je nutným kompromisem, který umožňuje slabší a silnější karty porovnat mezi sebou. Mít takové metodiky dvě nebo nedejbože více by přineslo více problémů než užitku.

Odbočka do detailů

Přibližně víme, že při snížení úrovně detailů ve hře se snižuje kvalita textur (čili zátěž na texturovací jednotky a nároky na velikost paměti a rychlost přístupu do ní), složitost geometrických modelů (souvisí s náročností stínů a multisamplingu), na pomalých kartách budete zpravidla hrát bez vyhlazování hran (zátěž na paměťovou sběrnici a ROP jednotky) a v nižších rozlišeních (zátěž na ROP jednotky). Úplně nejvíce většinou se snížením detailů ubývá efektů (světel, odlesků, tetelení teplého vzduchu… zkrátka takové to oblíbené pozlátko), které zatěžují shadery.

Hra na nízké detaily má tak nároky bližší starším hrám, relativně více zatěžuje texturovací jednotky a relativně méně shadery. Pokud se ale specifikace grafických karet z jedné rodiny mezi sebou zásadně neliší, není to nijak vážný problém. Ostatně i v případech jako GeForce 9600 GT versus 9800 GT nebo Radeon X1800 XT vs. X1900 XT nedostatky a výhody jednotlivých řešení dostatečně zřetelně vyniknou v různých hrách, které jsou v metodice zastoupeny.

Jak do toho zapadá Crysis 2 na Ultra

Zatímco u většiny her nikdo přesně neví, jak přesně se nároky mění s klesající úrovní detailů (a ostatně i předchozí pasáž je spíše spekulativní, než že by byla podložená empirickým výzkumem), u Crysis 2 to bohužel víme. Pokud by hypotetický Radeon ze série HD 5000/6000 a hypotetická GeForce z řady 400/500 na nastavení Extreme (v DirectX 9, před aplikací patche Ultra Upgrade) dosáhly shodně 100 snímků za sekundu, v nastavení Ultra (DirectX 11) to bude okolo 61 fps na Radeonu a 83 fps u GeForce. Tato neshoda je větší problém, než si možná myslíte.

Hypotetické karty z příkladu jsou high-endové a obě na nastavení Ultra podávají hratelné framerate, takže je všechno v naprostém pořádku. Jenže stejným metrem budou testovány i karty jako Radeon HD 5770 nebo GeForce GTS 450, na kterých si Ultra detaily s rozumnou snímkovou frekvencí nezapnete. Pro snažší počítání opět uvažujme hypotetické karty, které jsou ale tentokrát přesně čtyřikrát pomalejší, než jejich high-endové protějšky, a v testu na Ultra detaily dosáhnou framerate 15 a 21. Na nastavení Extreme by skóre bylo vyrovnaných 25 fps a teprve v nějakém nižším nastavení by obě karty dosáhly na plynulý chod.

A problém je na světě: přestože test říká, že GeForce je více než o třetinu rychlejší, v reálném scénáři jsou obě karty stejně výkonné. Test v Crysis 2 Ultra vypovídá pouze o Crysis 2 Ultra. Nezastupuje žádné další hry a nezastupuje ani vlastní jiné úrovně detailů. A pokud se rozhodujete o koupi levnější karty, která nastavení Ultra nerozhýbe, je pro vás výsledek v tomto testu zcela zbytečným číslem, které jenom zkresluje závěrečné průměrné grafy. A nedělejme si iluze, že beze zbytku všichni čtenáři budou se specifičností testu Crysis 2 obeznámeni.

Nabízí se paralela s měřením s PhysX, které také „špinilo“ výsledky Radeonů testem v nastavení, které jejich majitelé asi nikdy používat nebudou. Bylo to ale dostatečně profláklé, takže se snad nenašel čtenář, který by o „zradě“ v závěrečných grafech nevěděl a nedokázal si domyslet výsledky bez inkriminovaného testu. Na rozdíl od Crysis 2 ale testy s PhysX zastupovaly alespoň tu omezenou skupinu her, kde si jej můžete zapnout, a tuto výhodu GeForce (a že PhysX rozjelo víc karet, než kolik jich rozjede Crysis 2 na Ultra) pak zanášelo do grafu průměrného výkonu malým zvýšením jejich výsledku.

Jak z toho ven?

Vyřadit Crysis 2 z testů zcela by zajisté bylo škoda, přeci jen je to hra, o kterou je zájem a vysoké hardwarové nároky ji do role benchmarkovacího titulu předurčují. Testovat hru pouze v režimu DirectX 9 je ale stejně problematické, jako testovat pouze v DirectX 11 – takové měření naopak neprozradí, že pokud si na výkonné kartě zapnete Ultra detaily, Radeon utrpí daleko větší propad výkonu než GeForce. Testovat v obou nastaveních, ale do výsledného průměru započítávat obě, pak kontaminuje výsledky všech karet bez rozdílu.

Řešení, o kterých přemítá Scott Wasson na The Tech Report, také nejsou příliš schůdná. Testovat, ale nezařazovat do výsledných průměrů by bylo nepřehledné (co teprve, kdyby se takových her sešlo více), omezovat teselační faktor na Radeonech zase znamená testovat v nerovných podmínkách.

Jako ideální řešení se mi stále více jeví to, které jsem nastínil již v diskuzi pod pondělním článkem: kdyby si každý čtenář mohl vybrat, ze kterých testů má závěrečný průměrový graf vypočítán. Obnášelo by to úpravu interaktivních grafů a jejich důsledné používání ve všech recenzích, přínos tohoto řešení ale sahá daleko za aktuální kauzu s Crysis 2.

Nezřídkakdy se do metodiky probojují hry, které výrazně zvýhodňují tu či onu stranu. Čím více, tím silněji se testy v těchto hrách promítají do souhrnných grafů. Někdy tam jsou proto, že zastupují nějakou skupinu her (třeba se stejným enginem), ve kterých se předpokládají podobné výsledky. Jindy jsou zařazeny proto, že se aktuálně hodně hrají a vlastně ani nevíme, zdali existují další průměru se vymykající hry, nebo se jedná o unikát. Pokud tušíte druhou variantu a víte, že daný titul opravdu hrát nebudete, můžete jej v klidu ze své individuální sestavy vyškrtnout a získat tak relevantnější průměr z her, které vás zajímají.

Nenahraditelný lidský činitel

Bylo by pro recenzenty skvělé, kdyby mohli grafické karty strčit do testovacího stroje, spustit automatizovanou sadu benchmarků v počtu, jaké hrdlo ráčí, a po pár hodinách sklidit hotové grafy výsledků. Jenže i když si čtenáři budou moci sami sestavit svůj žebříček výkonu, práce redaktora zde rozhodně nekončí.

bitcoin_skoleni

Hypotetické nasazení personalizovatelných interaktivních grafů bude od recenzenta vyžadovat nejen neustálou osvětu, že tam něco takového je. Čtenářům bude záhodno poradit třeba to, že chtějí-li relevantní výsledky pro drahé karty, mají vyhodit Crysis 2 v DX9 a pro srovnání levnějších modelů naopak vyškrtnout Crysis 2 DX11.

Slovo autorovo je také nenahraditelné v hodnocení těžko měřitelných veličin, jakými jsou například zvukový projev (decibely nejsou všechno), stabilita framerate, kterou grafy prostého average fps nezachytí (karty s vyšší propustností pamětí mají zpravidla menší propady v náročných scénách, než karty paměťově přiškrcené) nebo problémy s ovladači, na které při testování narazil.