Tiszta víz a pohárba - RV670 VS RV730

Elemzés - 2009/03/09

Oldalak: << - < - 1 - 2 - 3 - 4 - 5 - > - >>
Bevezető
Emlékszik még valaki az nVidia 6600GT-jére, ill. 7600GT-jére? A két meghatározó egykori középkategóriás VGA több egyéb jó tulajdonság mellett egy izgalmas közös vonással rendelkezett: a 128-bites memóriavezérlőjük ellenére képesek voltak túlteljesíteni az előző generáció szélesebb (256-bites) vezérlővel rendelkező csúcspéldányát. Ilyet a 7600GT megjelenése óta eltelt 3 évben egyszer sem láttunk - az nVidia 8600-asai tettek erre egy gyenge kísérletet, és kb. fél évvel ezelőtt a HD4670 próbálkozott hasonlóval - ez utóbbin már mindenki annyira meglepődött, mintha a 7600GT sosem létezett volna.
A HD4670 meglepő győzelmét anno a 256M memóriával szerelt HD3850 felett aratta - a 256M-s verzió használata mellett többnyire 2 érv szólt, az egyik az árak nagyjábóli egyezése, a másik pedig az, hogy a korábbi tesztek alapján az HD3850-512 alig gyorsabb kisebb testvérénél. Míg az első fogyasztói szempontból teljesen jogos, a második érv némileg aggályosnak tűnt - és pláne azzá vált akkor, amikor a HD4670 győzelme alapján többen csodákat kezdtek zengeni az RV730 architektúrájának különböző elemeiről.
A HD3850 két változatát összehasonlító cikkünkből jól látszik, hogy a HD4670 átlagosan lassabb az 512MByte memóriával szerelt 3850-esnél, viszont gyorsabb a kisebbiknél - egyben az is kiderült, hogy a 256M-s változat felett némileg eljárt az idő, és alaposan lemaradt nagyobb testvérétől. De akkor most hová is tegyük az RV730-at? Amellett, hogy a GPU-ra építve egy újabb kiváló ár/teljesítmény aránnyal rendelkező kártya van a boltok polcain, milyen erényei vannak az RV670-nel szemben? Érdemesnek láttuk készíteni egy tesztet, ahol a két GPU minél hasonlóbb körülmények között csaphat össze - ehhez viszont nem a HD3850-et használtuk, amely szinte minden paraméterében eltér a HD4670-től (leszámítva az ALU-k (SP-k) számát, amit sokan hajlamosan túlértékelni), hanem a hasonló magórajelen üzemelő HD3870-et. Az RV670-re épülő gyorsabbik kártyát úgy állítottuk be, hogy minél több paraméterében megegyezzen a HD4670-nel - lentebb található egy részletes táblázat, ahol a főbb értékek láthatóak.
Tesztkörnyezet
A konfiguráció elemei
Alaplap Gigabyte X38-DS4, FSB @333MHz
CPU és órajel Intel E6700 (4M L2 cache), @3.00GHz (9x333)
CPU hűtés Cooler Master HyperTX2
Memória 4x1GB Geil Ultra DDR2-8500
Memória beállítások 1066MHz (3.2x333), 5-5-5-15, tRD: 6
Tápegység Corsair TX650
Operációs rendszer Windows Vista x86 Ultimate SP1
VGA neve Core clock Shader clock Memory clock Driver
Radeon HD3870 750 MHz 594 MHz (x2) Catalyst 8.12 WHQL
Radeon HD4670 750 MHz 1000 MHz (x2) Catalyst 8.12 WHQL
Radeon HD3870 770 MHz 1125 MHz (x2) Catalyst 8.12 WHQL
Radeon HD4870 750 MHz 900 MHz (x4) Catalyst 8.12 WHQL
A VGASpeed.hu tesztkörnyezetének részletes ismertetője itt található meg.
Mielőtt kifejtenénk, melyik kártya mit is csinál a tesztben, a következő táblázatban összefoglaltunk számos paramétert és az ezekből következő GPU kapacitásokat:
VGA neve HD3870 UC HD4670 HD3870 HD4870
Core órajel 750 MHz 750 MHz 770 MHz 750 MHz
Memória-órajel 594 MHz 1000 MHz 1125 MHz 900 MHz
Memória mennyisége 512 MB 512 MB 512 MB 512 MB
ALU-k (SP-k) 320 320 320 800
Textúrázó egységek 16 32 16 40
Interpolátor egységek 32 16 32 32
ROP egységek 16 8 16 16
Memóriabusz 256-bit 128-bit 256-bit 256-bit
Memória típusa gDDR3 gDDR3 gDDR3 gDDR5
Triangle setup 750 Mtri / sec 750 Mtri / sec 770 Mtri / sec 750 Mtri / sec
Számítási teljesítmény 480 GFlops 480 GFlops 493 GFlops 1200 GFlops
32-bit texel fillrate 12.0 GTex / sec 12.0 GTex / sec * 12.3 GTex / sec 24.0 GTex / sec *
64-bit texel fillrate 12.0 GTex / sec 12.0 GTex / sec * 12.3 GTex / sec 15.0 GTex / sec
32-bit pixel fillrate, 0xAA 12.0 GPix / sec 6.0 GPix / sec 12.3 GPix / sec 12.0 GPix / sec
32-bit pixel fillrate, 4xAA 6.0 GPix / sec 6.0 GPix / sec 6.2 GPix / sec 12.0 GPix / sec
64-bit pixel fillrate, 0xAA 6.0 GPix / sec 6.0 GPix / sec 6.2 GPix / sec 12.0 GPix / sec
64-bit pixel fillrate, 4xAA 6.0 GPix / sec 6.0 GPix / sec 6.2 GPix / sec 12.0 GPix / sec
Z-only fillrate, 0xAA 24.0 GPix / sec 24.0 GPix / sec 24.7 GPix / sec 48.0 GPix / sec
Z-only fillrate, 4xAA 12.0 GPix / sec 12.0 GPix / sec 12.3 GPix / sec 24.0 GPix / sec
Memória-sávszélesség 38.0 GB / sec 32.6 GB / sec 72.0 GB / sec 115.2 GB / sec
Nem kell a sok számtól megijedni, nem lesz rájuk egyenként szükség, elsősorban a különbségekkel fogunk foglalkozni. Néhány szót azért ejtsünk a zöld szekció csoportjairól (ezt a részt biztonságosan át lehet ugrani, a teszt eredményei enélkül is értelmezhetőek):
  • A triangle setup (háromszögek előkészítése) azt jelzi, milyen sebességgel készíti elő a képkockán fellelhető háromszögeket a GPU. Ez a kapacitás ugyan bőségesnek tűnik, viszont mivel ez a feladat nem párhuzamosítható a következő lépésekkel (ie. azoknak nincs min dolgozniuk), egy pármillió háromszöget tartalmazó képkocka esetén (ld. pl. Crysis az esetenkénti 2-3 millióval) már ez a feladat is jelentős mennyiségű órajelciklust használ fel.
  • A számítási teljesítmény szorosan összefügg a "hányespévanakártyában?" kérdéssel - konkrétan az összes SP (azaz ALU) maximális számítási kapacitását mutatja. Ez a szám a gyakorlatban ezeknél a kártyáknál lényegesen alacsonyabb - részben azért, mert az ALU-k nem mindig a két Flopot érő MADD utasítást végzik, részben pedig azért, mert a játékok shader kódjai a mai napig erősen szekvenciálisak (sok bennük a függőség), ezért a Radeonok 5 ALU-ból álló egységeit az ütemező nem tudja megfelelően "etetni", becslésünk szerint átlagosan 50-60%-os kihasználtsággal dolgozhatnak.
  • A texel fillrate lényegében a textúrázási teljesítményt mutatja, egy textúra (single texturing) esetében, AF nélkül. Három esetet megjelöltünk *-gal és egy kicsit sötétebb színnel - itt a textúrázás sebességét nem a textúraszűrők, hanem az interpolátor egységek korlátozzák. Ez a szám lehet még alacsonyabb az interpolátorok egyéb irányú feladatai miatt, de lehet magasabb is pl. AF használata esetén. A 32-bites értékek az INT8 vagy az FP10 formátumú textúrák használata esetén érdekesek (a legtöbb játék ilyeneket használ), a 64-bitesek pedig az FP16-os textúrák esetében.
  • A pixel fillrate szimplán azt mutatja, hogy a ROP-ok adott idő alatt hány pixel kirajzolására képesek. A számokon jól látszik, hogy az RV700-as szériában komoly extra erőt kapott ez a szekció - egy esetet (32-bites adatok, 0xAA) leszámítva az egységek órajelenkénti kapacitása a duplájára nőtt (ez egyébként a fő magyarázata annak, hogy a "karcsúbb" RV730 miért tudja tartani a lépést az RV670-nel). A 32-bites és a 64-bites értékek jelentősége ugyanaz, mint a textúrázás esetében.
  • A z-only fillrate az az eset, amikor a pixelnek csak a mélység-információjával kell foglalkozni, a színével nem. Számos árnyékolási eljárás nagyban támaszkodik erre a funkcióra, ezért éppen ideje volt, hogy az RV700-as GPU-k feljöjjenek az nVidia ellenlábasok szintjére - azaz 4 műveletre ROP-onként egy órajel alatt.
  • A memória-sávszélesség értelemszerűen azt mutatja, hogy a memóriából milyen mennyiségű adat tud egységnyi idő alatt kijönni, ill. bemenni. Fő fogyasztói a ROP-ok (ld. fillrate), a textúrázás, ill. az AA mintavételezés - ez pedig lényegében azt jelenti, hogy ez a paraméter a képkocka kiszámításának majdnem minden lépésére hatással van.
Fontos tisztában lenni vele, hogy a fent táblázatba foglalt kapacitások az elméleti maximumok, ezt a GPU más részei visszafoghatják. A legjellemzőbb ilyen "vegyes korlát" az, amikor a korlátozott memória-sávszélesség visszafogja a textúrázási teljesítményt vagy a fillrate-et, de más hasonló kombinációk is előfordulhatnak.
Lássuk akkor, mi alapján is fog történni a kártyák összevetése, ill. melyik szereplőnek mi lesz a feladata:
  • A HD4670 ugyan mint kihívó szerepel, mégis az ő számai lesznek a kiindulási pontok - ezekhez a számokhoz tudtuk hangolni a HD3870-et, fordítva nem ment volna.
  • Módosítottuk a HD3870 órajeleit, hogy a HD3870 UC (vagy HD3870 @750/594) néven futó átmeneti kártyához jussunk, amely szinte minden lényeges paraméterében megegyezik kihívójával. A megmaradt különbségek:
    • A HD4670 kevesebb interpolátora egyes helyeken önmagában korlát lehet
    • Ha az interpolátorok nem fogják vissza, akkor a HD4670 lényegesen nagyobb textúrázási kapacitással rendelkezik (pl. ha a 16xAF beállítást használjuk)
    • 32-bites színinformációk esetén, AA nélkül a HD3870 UC pixel fillrate kapacitása duplaakkora
    • A HD3870 UC memória-sávszélessége kicsit nagyobb, de ez csalóka - a gDDR5-ről szóló cikkünkből kiderült, hogy a rosszabb memória-késleltetéseket és a komolyan "alulhúzott" memória-órajelből adódó optimalizálatlanságot kompenzálni kell a memória sebességével (mivel a gDDR4 és a gDDR5 hasonlóan "rossz" késleltetés fronton, most is a korábban bevált 20% körüli extra sebességet használjuk). A nagyon hasonlóra beállított memória-sebesség viszont egyáltalán nem jelent egyforma memória-teljesítményt - az RV700-as széria memóriavezérlője, ill. hozzá kapcsolódva a cache-hierarchia komoly átalakításon esett át, ezért itt a HD4670 biztosan előnyben lesz - a teszt részben azt hivatott megmutatni, mekkorában.
    • Az átdolgozott memóriavezérlőhöz hasonlóan az élsimítás is kapott egy komolyabb optimalizációt - ezt számszerűsíteni nem tudjuk, de remélhetőleg a tesztekben látni fogjuk a "keze nyomát".
  • A "rendes" HD3870 azt fogja nekünk jelezni, hogy milyen korlátozó hatása van az előző két kártya igencsak szűkös memória-sávszélességének. Bár a magórajel itt egy kicsit magasabb, ez a 2.7%-os differencia a legtöbb esetben 1 fps-nél kevesebb előnyt jelent, ezért nyugodtan elfeledkezhetünk róla.
  • Végül a HD4870 szerepe az, hogy egyes elszigetelt esetek felderítésében segítsen - mivel szinte minden területen a HD3870 dupláját tudja kapacitásban, jelentősen (min. 60-70%-kal) felette várjuk telesítményben is - ha mégsem így teljesít, annak várhatóan az az oka, hogy az adott játékban erős korlát a triangle setup, a 32-bites pixel fillrate (0xAA eset), vagy a 64-bites texel fillrate (sajnos, az interpolátorok száma kapcsán nem tudjuk ellenőrzésre használni - miután ezek a textúrázás mellett más feladatokban is részt vesznek, könnyen előfordulhat, hogy amíg a HD4670 textúrázói "lezabálják" az interpolációs kapacitást, a nagyobb kártyák esetében ezzel már nincs probléma). A HD4870-nél persze figyelni kell arra is, hogy esetenként megeszi az E6700-ast reggelire, és ilyenkor nem az ő kapacitásának határait mutatja a grafikon, hanem a CPU-ét. A tesztek értékelése közben erre a kártyára csak akkor fogunk kitérni, ha valahol szükségünk van a segítségére.
A tesztben résztvevő játékok
DirectX 9
F.E.A.R. v1.08
Oblivion v1.2.046
Race Driver: GRID v1.2
Rainbow Six: Vegas v1.06
DirectX 10
Bioshock v1.1
Crysis v1.21
World in Conflict v1.09
DirectX 10.1
Assassin's Creed v1.0
Far Cry 2 v1.0
S.T.A.L.K.E.R.: Clear Sky v1.5.0.7
Unigine Tropics demo v1.1
A játékokról, ill. a VGASpeed.hu tesztmódszereiről részletes ismertető a bal oldali menü Tesztmódszer és játékok pontjában érhető el.
Szép hosszúra sikerült a bevezető, nem? Ugorjunk a grafikonok közé!
Oldalak: << - < - 1 - 2 - 3 - 4 - 5 - > - >>