Stormrise - eljött a DirectX 10.1 ideje?

Gyorsteszt - 2009/03/27, updated 2009/03/30

Bevezető
Amióta az AMD piacra dobta a Radeon HD3870-et DirectX 10.1 támogatással, azóta képezi vita tárgyát, hogy valójában mennyi értelme is van a DirectX 10 kibővített változatának (sőt, akár magának a DirectX 10-nek is). A DirectX 10.1 technikai előnyei egyértelműek (legfontosabbak a korrekt képminőségű élsimítás több render target esetén, ill. a textúramintavételezés hatékonyságát növelő Gather4 eljárás támogatása), de vélhetőleg amiatt, hogy a GeForce GPU-k "leragadtak" a DirectX 10-nél, eddig nagyon kevés játék jelent meg DirectX 10.1 támogatással, és egy olyan sem, ahol ez jelentős teljesítménybeli előnyt jelentett volna - sőt, egyes esetekben (pl. Unigine) a jobb képminőségű AA kevesebb fps-t is jelent.
Egy ilyen szituációban persze nagy várakozás előz meg minden olyan kísérletet, ami a patthelyzetet elmozdítja. A Stormrise készítői pedig úgy érezték, hogy itt a kitűnő lehetőség valami maradandót alkotni - vettek egy nagy levegőt, és a játék PC-s verziója által támogatott API-k közül egy laza mozdulattal kihajították a DirectX 9-et. Azaz a játék Vista-only, a GeForce kártyákon DirectX 10 az egyetlen renderpath, a HD3870 utáni Radeonokon pedig lehetőség van a DirectX 10.1 használatára (viszont ez pl. a Far Cry 2-vel szemben nem kötelező).
A játék megjelenése előtt már hetekkel nagyban folyt az ilyenkor megszokott széles spektrumú pletykaáradat - volt, aki már azt rebesgette, hogy a geometry shader kódok intenzív használata miatt a GeForce kártyákon játszhatatlan lesz a játék. Ezért, amint lehetőség nyílt rá, mi is megvizsgáltuk a Stormrise-t - az alábbi rövid teszt mutatja, mire jutottunk.
Tesztkonfiguráció
A konfiguráció elemei
Alaplap Gigabyte X38-DS4, FSB @400MHz
CPU és órajel Intel Q9550 @Q9770 (3.2GHz, 8x400)
CPU hűtés Cooler Master HyperTX2
Memória 4x1GB Geil Ultra DDR2-8500
Memória beállítások 1000MHz (2.5x400), 5-7-7-19, tRD: 9
Tápegység Corsair TX650
Operációs rendszer Windows Vista x86 Ultimate SP1
VGA neve Core clock Shader clock Memory clock Driver
Radeon HD4870 750 MHz 900 MHz (x4) Catalyst 9.3 WHQL
GeForce GTX280 602 MHz 1296 MHz 1107 MHz (x2) ForceWare 182.06 WHQL
GeForce GTX285 648 MHz 1476 MHz 1242 MHz (x2) ForceWare 182.06 WHQL
Radeon HD4870X2 750 MHz 900 MHz (x4) Catalyst 9.3 WHQL
Tesztek
Update: a teszt első változatában a HD4870-et az X2-es kártya egyik GPU-jának letiltásával emuláltuk. Ezt lecseréltük a "valódi" 4870-essel készült méréseinkre - a fél-X2 eredményeinél 4-7%-kal magasabbak az fps-ek. Ennyit számított a Catalyst AI visszakapcsolása, amit az on-board CrossFire kikapcsolásához deaktiválnunk kellett.
Ja, és bekerültek a GTX285-ös mérések is :)

Stormrise - 0xAA (displayed post-flash)

1680x1050 HD4870 DX10||||||||||||||||||||||||||||||||||||||| 39.0
HD4870 DX10.1|||||||||||||||||||||||||||||||||||||||||||||||| 48.2
GTX280 DX10||||||||||||||||||||||||||||||||| 33.0
GTX285 DX10|||||||||||||||||||||||||||||||||||| 36.4
HD4870X2 DX10|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 75.9
HD4870X2 DX10.1||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 90.9
1920x1200 HD4870 DX10||||||||||||||||||||||||||||||||| 32.6
HD4870 DX10.1||||||||||||||||||||||||||||||||||||||||| 40.7
GTX280 DX10||||||||||||||||||||||||||| 27.4
GTX285 DX10|||||||||||||||||||||||||||||| 30.3
HD4870X2 DX10|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 63.7
HD4870X2 DX10.1||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 78.9

Bemelegítésképpen megnéztük, mi a helyzet élsimítás nélkül - gondolva arra, hogy pl. a STALKER Clear Sky esetében mit jelentett az AA bekapcsolása, különösen a GeForce kártyák esetén. Az talán első ránézésre is látszik, hogy DirectX 10-ben nincs drámai különbség az RV770 és a GT200 GPU teljesítménye között - bár nem megszokott dolog, hogy a HD4870 a GTX285 előtt végez, azért már láttunk ilyen játékot. Ez az eredmény tehát mindössze arra utal, hogy a Radeonoknak jobban fekszik a játék motorja.
A DirectX 10.1 használata már némileg átrajzolja a terepet. A Radeonok 20-25%-kal gyorsulnak, és ez így már komoly előny a rivális GPU-hoz képest - olyannyira, hogy ha lenne a tesztben HD4850, akkor az is megelőzné a GTX280-at, talán még a GTX285-öt is.
Az élsimításos tesztben 8xAA-t használtunk - ennek az oka az, hogy minimális a teljesítmény-különbség a 4xAA és a 8xAA között, és akkor már miért ne használjuk a legcombosabb beállítást. A grafikon:

Stormrise - 8xAA (displayed post-flash)

1680x1050 HD4870 DX10|||||||||||||||||||||||||||||||||| 34.2
HD4870 DX10.1|||||||||||||||||||||||||||||||||||||||||| 41.5
GTX280 DX10||||||||||||||||||||||||||||| 29.2
GTX285 DX10||||||||||||||||||||||||||||||||| 32.5
HD4870X2 DX10|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 66.2
HD4870X2 DX10.1|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 79.8
1920x1200 HD4870 DX10||||||||||||||||||||||||||||| 28.6
HD4870 DX10.1||||||||||||||||||||||||||||||||||| 35.3
GTX280 DX10|||||||||||||||||||||||| 24.3
GTX285 DX10||||||||||||||||||||||||||| 26.9
HD4870X2 DX10|||||||||||||||||||||||||||||||||||||||||||||||||||||||| 56.0
HD4870X2 DX10.1|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 68.4

Szembeszökő, hogy a két grafikon karakterisztikája milyen hasonló. Igen, a GeForce kártyák nem haltak bele az élsimítás bekapcsolásába! Mint később kiderült, ez elsősorban a játék készítőinek köszönhető: GeForce hardware esetén az élsimításhoz egyes adatokat nem DirectX-en keresztül forgalmaznak, hanem kinyúlnak az nVidia CUDA API-ján keresztül. Ezért mindenképpen megérdemelnek egy nagy piros pontot - mi pedig köszönjük az információt Abu85-nek @proHardver!
Amit még érdemes megfigyelni, az az, hogy a 8xAA bekapcsolása a GTX-ek esetén 10%-kal, a Radeonok esetén 15%-kal csökkentette az fps-eket - ha nem is ingyenes az élsimítás a játékban, sok más motortól eltérően nem is túlzottan költséges, a képminőségen viszont igencsak meglátszik, ezért javasoljuk a használatát. Szokás szerint a gyakorlatban elég a 4xAA, a 8xAA csak az igazán maximalistáknak való.
Konklúzió
Itt van hát az első natív DirectX 10-es játék - meg kell mondjuk, látvány tekintetében nagyon elégedettek vagyunk az eredménnyel. A teljesítmény már egy kicsit vegyesebb - a GeForce kártyákon a maximális beállítások használatához egy GTX295 erősen ajánlott (ill. ajánlott lesz, amint lesz a játékhoz SLI profil), és bár a HD4870 azonos beállítások mellett alig gyorsabb, mint a GTX285, a DirectX 10.1 aktiválása több, mint 20%-kal megdobja a teljesítményét, és így már szépen simán fut a játék. Az X2-n pedig csak úgy száguld, a CrossFire skálázódása kitűnő.
Nehéz megjósolni, mennyire lesz sikeres a játék, akár csak a látványvilág szempontjából is - a lecsupaszított és mechanizált világ biztosan nem fog mindenkinek tetszeni, de a hatalmas terek megjelenítése a sokféle fényhatással nagyon impresszív, és nem utolsósorban a látvány alapján elvárhatóhoz képest lényegesen alacsonyabb a játék CPU-igénye - ez teszi lehetővé, hogy a HD4870X2 is kiélhesse magát, és még a 90 fps-t produkáló 1680x1050, 0xAA beállítással se érződjön rajta a platform limitáló hatása. Véleményünk szerint az RTS műfaj számára egy iránymutató motort tettek le az asztalra a Stormrise készítői - kíváncsian várjuk, mikor jelentkeznek a követők!
Ez a rövid teszt csak ízelítő a játékból - a Stormrise-t bevesszük a VGASpeed.hu tesztcsomagjába állandó szereplőnek, és így be fogunk számolni arról is, hogyan teljesít a motor a kevésbé vad árakon hozzáférhető videokártyákon.
Addig is, várjuk a kommenteket a fórumban!