FarCry teljesítmény-elemzés by Rover623

A következő sorokat olvassa el alaposan, aki szereti a modern játékokat, és hozzájuk való izmos hardver vásárlásán töri a fejét. A tesztekben a manapság talán a legtöbb törődést kapott modern játék, a FarCry, legfrisebb verziójának alapos vizsgálatát örökítni meg Rover623, a levont következtetések gondolkodóba ejthetik a százezer forint fölött videokártyát vásárlókat!

Manapság egyre inkább tért hódítanak azok a játékok, amelyek extrém erőforrásigényük révén komoly gerjesztő hatással vannak a hardware fejlesztésekre és eladásokra. Az egyik ilyen játék a FarCry, aminek komoly gépigénye közismert. Kivonat a readme-ből:

High System Requirements
- Computer: A 3 GHz AMD processor or better is recommended.
- Memory: We recommend 1024 MB of RAM
- Video: A 3D accelerator video card with support for DirectX 9.0b and at least 128 MB of video memory is recommended

A játékosok részéről elvárható igény, hogy ne kockaforma vízcseppek gördüljenek le a lépcsőnek látszó pálmalevelekről, vagyis mindenki szeretné legalább 1024x768 vagy 1280x1024 felbontásban kergetni az ellent az Ubisoft eme gyöngyszemében. Kényesebb szemű ínyencek gyakran próbálkoznak a különböző látványjavító szolgáltatások használatával is. NVIDA felhasználók körében a leggyakoribb a 4xAA/8xAF beállítások használata, mivel ez már javítja a kép minőségét, viszont az általa okozott sebességcsökkenés még "megbocsátható" (rudi: a 4×AA az Nvidia DirectX-ben elérhető egyetlen normális minőségű és sebességű beállítása, négy mintapontos RGMS technikát használ).

Lássuk mit is jelent ez a gyakorlatban! A tesztekhez használt környezet egy "felső-középkategóriás" konfiguráció:

  • Asus P5GDC Deluxe alaplap3.2GHz-es Prescott processzor (775 lábú tokozásban)
  • 1GB Kingston KHX3500 memória (2-3-3-8 időzítésekkel)
  • Xpertvision 6600GT PCI-e VGA kártya (128MB RAM, 500/1000MHz default órajekkel)
  • Windows XP Prof HU + SP2 operációs rendszer
  • ForceWare 71.25 driver
  • FarCry 1.3 (Build 1337)
  • HardwareOC FarCry Benchmark 1.4.1

A ForceWare segítségével az összes képjavító eljárás ki lett kapcsolva, az összes létező opció Performance módba lett állítva (maximális teljesítményre való optimalizálás). A FarcCry bench beállítópaneljén a képjavító eljárások a From System beállítással szerepeltek.

A teszteket a Techreport - Regulator nevű timedemo-val végeztük, a teszt háromszor futott le minden beállítással. Ez három sebességértéket ad (általában a második a legjobb), mivel a bejárás ugyanazon az útvonalon történik, de a mozgó tereptárgyak (katonák, jármű) egy folyamatos történést követnek, ezért a három futás során más-más környezetben halad el a "kamera". Ez jobban közelíti a valós viszonyokat, mint az általánosan használt teljesen fix timedemo-k.

A két megkövetelt felbontásban a lehetséges három részletességgel a következő eredmények születtek (ahol nincs mértékegység az eredményeknél, ott értelemszerűen fps-ről beszélünk):

felbontás
Minimum detail
Maximum detail
Ultra detail
1024×768
92,80 - 104,52
40,51 - 46,16
39,89 - 45,47
1280×1024
92,97 - 104,94
37,96 - 43,33
37,96 - 43,21

Roppant érdekes! Minimum részletesség esetén a nagyobbik felbontás (ha csak árnyalatnyival is) gyorsabb! Először arra gyanakodtam, beakadt a VSYNC, de aztán eszembe jutott, hogy 1280x1024-ben csak 85 Hz-en megy a rendszer, mert nem bír többet a monitor, tehát nem lehetett volna 105 fps bekapcsolt VSYNC mellett! Gyanús! Csak nem processzor-limitált a demó, vagy ami még rosszabb: a motor?! Ezek után a FarCry Bench megfelelő paneljén beállítottuk a 4xAA és 8xAF értékeket; a sebességértékek az alábbiak szerint módosultak:

felbontás
Minimum detail
Maximum detail
Ultra detail
1024×768
89,58 - 100,19
39,96 - 44,91
38,66 - 43,63
1280×1024
88,05 - 99,97
37,65 - 42,84
36,56 - 41,30

Érdekes eredmények! Minimum részletesség esetén a rendszer teljesítménye bőven jó! Ilyen FPS esetén valószínűleg zökkenőmentesen lehet játszani, kerüljünk bármilyen helyzetbe. A Maximum részletesség komoly sebességcsökkenéssel jár, amin nem csodálkozhatunk, hiszen szemmel látható mennyivel komolyabb, minőségi látványt produkál a Minimum-hoz képest. Az Ultra teljesítményigénye csak árnyalatnyival nagyobb a Maximumnál és az igazsághoz az is hozzátartozik, hogy szemre sem látszik túl nagy különbség, bár lehet, hogy csak én nem veszem észre? (rudi: szerintem ez az opció a tizenhat futószalagos csúcskártyákat vásárlók lelki világának megnyugtatására lett beépítve)

Másik érdekesség, hogy milyen kevéssé függ a sebesség a felbontástól! Annak ellenére, hogy a nagyobbik felbontás esetén a megjelenített képpontok száma 67%-al több, a sebesség még a komolyabb részletességű üzemmódokban is csak 5% körüli mértékben esik! (rudi: szerfölött érdekes! Akkor most elég lenne a 128 bites memória által nyújtott sávszélesség? Vagy a processzor a korlátozó tényező már itt is?) Az is különös, hogy a bekapcsolt látványjavító eljárások milyen roppant keveset rontottak a sebességen! (rudi: nagy piros pont az NVidiának!) Vagy különösen jók a 6600GT ilyen irányú képességei, vagy a FarCry csak részlegesen használja ezeket!

A felhasználók számára ebből a következő látszik:

  1. gyengébb rendszerek esetén, muszáj lesz levenni a részletességet Minimumra, esetleg a Maximum részletesség mellett ki kell kapcsolni az élsimítást és az anizót. (rudi: mai játékokban általános, hogy inkább az eggyel kisebb felbontás, és a nagyobb részletesség a nyerő, talán mégis borul a képlet?)
  2. akinek komoly a rendszere, felesleges vesződnie a Maximum móddal, nyugodtan mehet Ultrában a játék, érdemleges sebességet nem veszít vele, viszont biztos nem marad le semmilyen látványelemről
  3. a felbontás növelése nem igazán kottyan meg a grafikus motornak. Ez jó hír az LCD tulajdonosoknak, hiszen a 17"-os LCD-k átlagos felbontása 1280x1024, tehát nyugodtan lehet váltani a régebbi csöves monitorokról! (rudi: örülök is kellően!)
  4. a 6600GT esetén nyugodtan használható a 4xAA/8xAF beállítás, mivel érzékelhető sebességcsökkenést nem okoz!

Egy "kis" húzás

A magasabb részletezésű üzemmódokban mért komoly sebességcsökkenés azonban aggodalomra adhat okot! Mi van, ha nem előre generált pályákról van szó, hanem komolyabb helyszínen kerül csetepatéba az emberfia sok mozgó ellenféllel? Ilyenkor sokkal komolyabb terhelésnek van kitéve a rendszer, vagyis még lejjebb eshet az FPS! Mi lenne ha biztosra mennénk? Magasabb alapértékekből könnyebben enged az ember, tehát tuningolni kell! Az első gondolat a FarCry kaliberű játékok esetén a videokártya tuningja. Használjuk ki, hogy egy kivételesen tuningolható 6600GT van a kezünkben és nyomjunk neki extrém overclockot:

Standard
Tuning
Növekedés
Grafikus mag
500 MHz
612 MHz
22,4 %
Memória
1000 MHz
1316 MHz
31,6 %

Ezek igen komoly értékek, az átlagos 6600GT-k esetén (gyári hűtéssel) jellemzően az 540-560MHz körüli GPU és 1150-1200MHz környéki RAM sebesség érhető el úgy, hogy még ne hibázzon a kártya. Lássuk mit profitál ebből a FarCry a két kitüntetett felbontáson, most már szigorúan maradva az "Ultra detail" részletességnél:

Standard
Tuning
Növekedés
1024×768
38,66-43,63
39,98-44,72
2,5-3,4 %
1280×1024
36,56-41,30
37,54-42,57
2,7 - 3,1 %

Az eredmény több mint meglepő! A tuning "bruttó" értéke sohasem jelentkezik a végeredményben maradéktalanul, ez azonban kritikán aluli profit! Két eset lehetséges:

1. A FarCry motorja olyan látványelemeket használ és olyan nagyságrendben, amit a 6600GT architektúrája már nem tud kiszolgálni. Ennek ellentmondani látszik az, hogy a 6600GT-ben minden ma elképzelhető földi jó megvan, ami a csúcskártyákban, sak kevesebb. Meggyőződni róla viszont csak hasonló rendszerben üzemelő komolyabb kártya megléte esetén lehet.

2. A FarCry motorja nem kellőképpen optimalizált, bizonyos esetekben komoly számítási nehézségei vannak! Ezt erősíti meg, hogy egy benchmark esetén rengeteg dolog előre ki van számolva, semmi váratlan esemény nem jöhet közbe, nincs felhasználói beavatkozás és ebből adódóan folyamatosan változó környezet. Amennyiben a grafikus motor jól van megírva, egy timedemo eredménye leginkább a videokártya képességeitől függ.

Ellenőrizzük le elméletünket!

A VGA órajeleit visszavéve a standard 500/1000MHz értékekre, hajtsunk végre processzor/memória tuningot. A rendszer korlátai miatt (memória) most nincsen szó extrém (250-260MHz) túlhajtásról, meg kell elégednünk egy szerény, ámde sokszor próbált és stabil tuninggal.

Standard
Tuning
Növekedés
FSB
200 MHz
225 MHz
12,5 %
CPU
3,2 GHz
3,6 GHz
12,5 %
memória
400 MHz
450 MHZ
12,5 %

Intel 915P alapú rendszer lévén, az FSB növelésével a CPU sebességével szinkronban nő a DDR memória "meghajtása" is. Nézzük a túlhajtás milyen eredményeket jelent a két felbontás esetén, továbbra is Ultra részletességgel:

Standard
Tuning
Növekedés
1024×768
38,66-43,63
42,58-48,91
10,1-12 %
1280×1024
36,56-41,30
40,24-45,57
10,1-10,3 %

Baj van! Nagyon nagy baj! A proci tuning eredménye szinte teljesen átjött! Ez azt jelenti, hogy (legalábbis 6600GT alkalmazása esetén) a FarCry grafikus motorja erősen processzorfüggő, vagyis nem igazán optimalizált. A felhasználó szempontjából ez azt jelenti, hogy egy adott grafikus-kártya családból nem érdemes a gyorsabb órajelű változatokat vennie (pl. GT vs. Ultra), elég a technológiára koncentrálnia, megvenni az alacsonyabb sebességű változatot, az árkülönbözetet pedig érdemesebb erősebb processzorba fektetnie!

A tisztesség kedvéért végül nézzük meg, milyen eredménye van a rendszer "csúcsrajáratásának" a nagyobbik felbontás alkalmazása esetén. Ennél a tesztnél egyszerre alkalmaztuk az előbbiekben részletezett VGA és CPU/RAM tuningot:

Standard
Tuning
Növekedés
1280×1024
36,56-41,30
42,70-48,38
16,8-17,1 %

Értékelhető, de nem túl komoly! Ha figyelembe vesszük, hogy az ilyen mértékű tuningot elviselő kártya ritka, ezenkívül az ekkora túlhajtáshoz biztosan le kell cserélni a gyári VGA coolert, akkor elmondhatjuk, hogy felesleges munka és anyagi beruházás a 6600GT tuningolása FarCry esetén! Érdemesebb az erőforrásokat az alaplap/CPU/RAM fejlesztésére koncentrálni.

Rudi: engedtessék meg két kérdés:
1. ki a fene tudja kiélvezni kellő képfrissítési frekvencián az 1600×1200-as és nagyobb felbontást?
2. milyen processzor kell ekkora felbontáshoz akár egy Radeon X800 XL kihajtásához...?

by Rover623