Podváděla ATI ve Far Cry 2?
Začneme tématem ožehavým: hotfixem ATI pro Far Cry 2. Ta tento ovladač vydala v podstatě současně se hrou a oproti verzi 8.10 WHQL zvyšoval výkon CrossFire zapojení i jednotlivých Radeonů pod DirectX 10 a i pod DirectX 9 mělo dojít ke zlepšení CrossFire efektivity. Bohužel zlepšení výkonu v DirectX 10 nebylo jaksi zadarmo. Následující dva screenshoty jsou pořízeny ze stejné uložené pozice, vždy pod DirectX 10 s nastavením Ultra High. Ten vlevo je z GeForce 8800 GT s ovladačem 180.43, ten vpravo pochází z Radeonu HD 4870 X2 s Far Cry 2 hotfixem:
Případů, kdy chybí kameny, odpadky či třeba pražce kolejí byste si mohli všimnou vícero. Příliš by to nevadilo, kdyby právě s prvním hotfixem nedocházelo oproti korektně zobrazujícím ovladačům Catalyst 8.10 či 8.9 WHQL ke zlepšení výkonu. AMD byla na chyby zobrazení upozorněna a během pár dní se objevila oprava. Je to vlastně takový hotfix na hotfix, oficiálně se do názvu dostalo ještě jméno hry S.T.A.L.K.E.R.: Clear Sky, kde je nově využita funkcionalita z DirectX 10.1 pro urychlení anti-aliasingu (a dle diskuze také opravena chyba bránící dohrání hry Brothers in Arms: Hell's Highway). V článku budu tento ovladač označovat jako Far Cry 2 hotfix 2, či jen krátce FC2 hotfix 2.
Tento ovladač bohužel pro AMD prokázal, že se nejednalo jen tak o nějaký bug, ale bug, jehož odstranění stálo nemálo výkonu. Zde jsou výsledky měření na Radeonu HD 4870 a 4870 X2 (kvůli velkému rozptylu jsem v případě FC2 hotfix 2 používal pět opakování pro každé měření):
Situace je tak pro čest AMD/ATI z pohledu uživatele možná ještě trochu horší než v případě loňského cheatování konkurenční Nvidia ve hře Crysis. Ta s beta ovladačem 169.04 vynechávala aktualizaci vodní hladiny a získala dobrých pár snímků v benchmarky Crysis navíc (procentuálně více než Radeony s FC2 hotfixem), ale zase tento výkon dokázala později získat i se správným obrazem. To se ATI nedaří, na druhou stranu tento ovladač sice vyšel současně s Far Cry 2 a dobou, kdy se hrou bude nejvíce benchmarkovat, ale zase nepřišel s e-mailem doporučujícím jej pro benchmarkování recenzentům. Dalo by se tedy říct, že jestli chceme nazývat cheatováním loňskou kauzu Nvidia v Crysis (na EHW jsme ji tak nazývali), musíme asi to samé říct o tomto případu. U obou záleží na tom, čemu chcete věřit, do myslí vývojářů a dalších lidí ve firmách Nvidia a ATI zřejmě nikdo z nás nevidí.
512 vs. 1024 MB videopaměti
ATI s Far Cry 2 skutečně bojuje, Radeony HD 4000 v ní nepotvrzují v jiných titulech velmi rychlý anti-aliasing a při vysokých detailech textur už jindy s čtyřnásobným anti-aliasingem obdivuhodně rychlý Radeon HD 4870 jakoby sahá na dno své 512MB videopaměti. Bohužel nemám žádný Radeon HD 4870 s 1 GB paměti, proto jsem se Radeon HD 4870 1 GB pokusil alespoň nasimulovat vypnutím CrossFire (Catalyst AI na hodnotu Disabled) u Radeonu HD 4870 X2 (2× 1 GB paměti). Těžko řící, zda s vypnutím Catalyst AI dojde jen k vypnutí CrossFire nebo také k vypnutí nějakých optimalizací kompilátoru shader kódu jako je tomu u single karet, na to nemám dostatečně přesné informace. Tabulka s měřeními ale ukazuje významný zisk snímkové frekvence v rozlišení 1920 × 1200 px s 4× AA, na 2560 × 1600 px s 4× AA jakoby nestačil ani 1 GB videopaměti.
Kvalita obrazu: Radeon vs. GeForce
Na všech následujících screenshotech je zapnut 4× anti-aliasing přes menu hry. Všechny detaily jsou nastaveny na nejvyšší možné hodnoty. Náhledy odkazují přímo na PNG obrázek (bezztrátová komprese, rozlišení 1280 × 800 px, velikost typicky kolem 1,8 MB). Screenshoty, jež chcete srovnávat vám doporučuji uložit na disk (Uložit odkaz jako...) a v prohlížeči obrázku sekvenčně procházet a porovnávat.
Pro celou stranu platí, že vlevo jsou screenshoty z GeForce (8800 GT, G92), vpravo z Radeonu (HD 4870 X2, R700). Až si soubory uložíte na disk, poznáte to opět i z názvu (g92, r700).
Directx 10
G92 (vlevo), R700 (vpravo)
DirectX 9
G92 (vlevo), R700 (vpravo)
Kvalita obrazu: DirectX 10 vs. DirectX 9, výjimečný Radeon HD 2900 XT
Nutno říci, že jsem v zobrazení karet nenašel žádné rozdíly (až na chyby s prvním hotfixem u Radeonů pod DirectX 10). Do tohoto srovnání vnesl zajímavost až Radeon HD 2900 XT (R600), který na rozdíl od všech GeForce 8/9/GTX a Radeonů HD 3000/4000 netrpí chybou zřejmě spojenou s funkcionalitou nad rámec DirectX 10. V DX10 režimu hry chybí klasy trávy, v DX9 jsou a Radeon HD 2900 XT (a zřejmě i Radeony HD 2600/2400) je však zobrazí. Škoda jen, že si s vysokým detaily a rozlišením 1680 × 1050 px neporadí při dostatečné rychlosti.
Trávami, jejich květy (či klasy) se dostávám k jednomu z hlavních rozdílů: pro většinu karet platí, že s vyššími detaily budete v DirectX 9 režimu mít trávu oživenou o pěkné klasy, kdežto v DirectX 10 zatím chybí, ať nastavíte sebevyšší detaily. Na následujích screenshotech ale vidíte také něco, co pro změnu nahrává DirectX 10: koruny stromů i stébla trávy jsou v DX10 režimu jaksi vyhlazeny, kdežto v DX9 působí zubatě, ostře, nepřirozeně.
Na celé stránce platí: DirectX 10 (vlevo), DirectX 9 (vpravo)
DirectX 10 (R600)
Další dvojice screenshotů pak ukazuje pěkné měkké stíny s DirectX 10 a nepřirozené tvrdé s DirectX 9, na boudě vpravo můžete vidět také celé jednolitě zbarvené bloky ve větším stínu pod DirectX 9.
Tuto uloženou pozici jsem si bohužel smazal, takže později dodělávaný screenshot na Radeonu HD 2900 XT není ze stejné pozice (ale snad dost podobné). I tak jasně vidíte, že Radeon HD 2900 XT v sobě spojuje pěkné stíny z DirectX 10 režimu a hezčí trávu z DirectX 9. Chybí jen to vyhlazování listů a trávy z DirectX 10...
Další dvojice vykazuje největší rozdíly ve stínech, ve prospěch DirectX 10.
V interiérech mezi DirectX 10 a 9 režimem stěží zpozorujete větších rozdílů.
Vliv nastavení (low až ultra high) na obraz: interiér
Následující pasáže se zabývají rozdíly mezi jednotlivými nastaveními. Zatímco fyziku či stromy jsem nechával stále na maximu (very high), měnil jsem "overall" nastavení grafických detailů. Vy si jistě najdete kombinaci (například jen high textury, ale very high stíny apod.) pro ideální poměr kvalita obrazu/plynulost, já nemohu pokrýt všechny kombinace. Proto vždy uvidíte rozdíly mezi celkovými grafickými detaily.
Na low detaily je sice hra plynulá na kdejaké laciné grafice, ale teprve od středních detailů (medium) začíná vypadat k světu. Naopaj mezi high, very high a ultra high nastaveními nejsou velké rozdíly. Nejvíc pozorovatelné rozdíly jsou mezi stíny (na high už máte jen stín velmi hrubě odpovídající objektu, co jej vrhá), další rozdíl (a zřejmě i výkonnostní) pak najdete na texturách.
Pro ilustraci jsem vždy přidal obrázek s ultra high detaily v DirectX 10, ale s vypnutým (všude jinde čtyřnásobným) anti-aliasingem. Postavy, zbraň i veškeré budovy vypnutím anti-aliasingu docela utrpí. Nemáte-li zrovna jemný displej, snažte se rozběhat alespoň 2× anti-aliasing.
DX9: low (vlevo), medium (vpravo)
DX10: high, very high
DX9: ultra high, DX10: ultra high
DX10: ultra high bez 4× AA
Vliv nastavení na obraz: exteriér I.
DX9: low, medium
DX10: high, very high
DX9: ultra high, DX10: ultra high
DX10: ultra high bez 4× AA
Vliv nastavení na obraz: exteriér II.
DX9: low, medium
DX10: high, very high
DX9: ultra high, DX10: ultra high
DX10: ultra high bez 4× AA
Na závěr článku už jen připomenu tabulku ilustrující výkon různých grafických karet a vliv nastavení na výkon: