CPU játékhoz - legyen két maggal több?

CPU versus VGA 3.5

Éppen készülőben van a nagy népszerűségnek örvendő, processzorok és videokártyák ideális párosításait firtató cikksorozatunk negyedik része. Ennek egyik kiemelt témája lehetne a manapság egyre nagyobb vitákat kirobbantó, a processzormagok számára vonatkozó kérdés: hány mag kell a játékokhoz? A kérdés jogos, hiszen a processzorgyártók egyre jobban nyomják a négymagosokat, de a plusz két mag nincs ingyen, ezért érdemes fontolóra vennünk, hogy egy játékos konfiguráció összeállítása során melyik az ésszerűbb választás, mivel járunk jobban: egy két plusz két magos CPU-val vagy egy erősebb videokártyával.

Hirdetés

A témát nagyon leegyszerűsítve járjuk körbe, nem áll szándékunkban hosszú elemzésekbe bonyolódni, mert nincs értelme. Lássuk miért is. Egy játékban milyen feladatokat lát el egy processzor? Alapvetően feldolgozza magát a programot, végrehajtja az utasításokat, a monitoron megjelenő 2D-s képkockához szükséges geometriát (csontvázat) kiszámolja és elküldi a videokártyának (DX10-es hardver esetében ezt már a VGA végzi), egyes játékokban ráhúzza a bőrt a karakterekre (skinning), kiszámolja az árnyékokat, a fizikai kölcsönhatásokat, különböző transzformációkat, ezen felül kikalkulálja a számítógép által megszemélyesített karakterek AI-ját, vagyis mesterséges intelligenciáját, illetve a játékvilág fizikai modelljét. Utóbbi két területen további processzormagok bevonásával realisztikusabb játékélmény vagy gyorsabb futás érhető el. Minél nagyobb számítási kapacitás áll a rendelkezésünkre, annál több karakter AI-ját számolhatjuk ki, illetve elméletben annál okosabb lehet az AI (de ehhez hathatós programozói támogatás kell). Ezenfelül annál több dolgot tudunk szimulálni, tehát realisztikusabb lesz (lehet) a játékvilág. A fizika kiszámolása olyan erőforrásokat igényel, hogy erre a feladatra már különálló szoftvereket, sőt gyorsítókártyát fejlesztettek ki, gondoljunk az NVIDIA által felvásárolt Ageia PhysX-re vagy az Intel kezébe került Havok Physicsre.

Mindez szépen hangzik, és akár már arra gondolhatnánk, hogy minél több magot tarzalmaz a processzorunk, annál jobb. Ez elméletben igaz, de a dolognak vannak buktatói is. Például mit érünk a szupererős processzorral, ha a játékban alkalmazott beállítás (amely alatt a felbontás nagyságát és a játékban található egyéb „csúszkákat” értjük) olyan mértékben terheli le a videokártyát, hogy annak valamelyik belső tulajdonsága válik szűk keresztmetszetté: a shaderszámolás (ALU) gyorsasága vagy a textúrázás (TEX) sebessége, esetleg a memóriasávszélesség (RAM) szűkössége vagy valami más? Miután a videokártya az a komponens, amely (egyszerűen fogalmazva) megjeleníti a játékot (kiszámolja a monitoron látható 2D-s jelenetet), alapvető befolyása van a játék sebességére. Ha a VGA belső felépítése okán adott beállítás mellett 43 fps-t képest magából kipréselni, akkor nincs mit tenni, 43 fps sebességgel fog futni a játék, lehet alatta 1 magos, 2 magos, 4 magos vagy akár 8 magos processzor. Utóbbi persze csak adott korlátokon belül igaz, mert a processzornak a felelőssége, hogy a videokártyát ellássa megfelelő mennyiségű számolnivaló adattal. Ha ez megtörténik, ha elérünk egy bizonyos pontot, onnantól többé szinte nincs is korlátozó hatása a játék sebességére. Ezt nevezzük videokártya-limitált szituációnak.

Ha az első probléma megkapná a hardverrel kapcsolatos aggályaink címszót, akkor a második probléma a szoftverrel kapcsolatos aggályokra vonatkozhatna. Mit értünk ezalatt? A játékokban konkrétan meg kell határozni, hogy az egyes programszálak (azaz processzormagok) milyen munkát végezhetnek. Ha ez nincs kikötve, akkor a processzormagok egyszerűen kihasználatlanul állnak, és nem csinálnak semmit. Ez a játékírók felelőssége. Ugyanakkor a meghajtóprogram összeállítása során is oda kell figyelni a megfelelő optimalizációk meglétére. Ezzel bizonyos mértékig akár a játékírók „trehányságát” is ki lehet küszöbölni.


2 mag vagy 4 mag? [+]

Összességében tehát elmondhatjuk, hogy a sokmagos processzorok látható és érzékelhető kihasználásához sok tényező együttállására van szükség. Először is kell egy olyan játék, melyben a többedik mag(ok) számára a játékprogram írói kiadták a megoldandó feladatot (vagyis képes kihasználni azokat), ez általában az AI és/vagy a fizika számolása. Kell egy meghajtóprogram, amelyet megfelelően optimalizáltak, nem áll összeütközésben a játékkal. És olyan beállítást kell használnunk, ahol a videokártya még nem szűk keresztmetszet a rendszerben. Ez utóbbi egyébként felvet egy érdekes kérdést. Ha ahhoz, hogy a sokmagos processzor látható és érzékelhető mértékben gyorsítsa a játékot, olyan beállításra van szükség, ami nem hajtja ki a videokártyát, akkor mi értelme erős VGA-t venni? Ha gyengébb VGA-t használunk, akkor ez a bizonyos pont lejjebb csúszik, és VGA-limitessé válik az a beállítás, ami az előző, erősebb VGA-val még nem volt az. És éppen ez lehetne mondanivalónk lényege röviden, de először lássuk a teszteket.


A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények

Hirdetés