NVIDIA SLI
Bevezető
A számítástechnika világában egyre elterjedtebb a párhuzamosítás elve, gondoljunk csak a HyperThreading technológiára vagy a jövőben megjelenő többmagos processzorokra, a multi-monitor támogatásra vagy akár az Native Command Queuing „felfedezésére”, mellyel a merevlemezek multitaszkos környezetbeli teherbírását optimalizálták. Amikor egyes számítógép-alkatrészek más módszerekkel már nem vagy csak nagyon kis mértékben képesek tovább gyorsulni, akkor a párhuzamosítás az egyik legkézenfekvőbb megoldás, könnyű kivitelezése mellett azonban számos negatívummal is számolni kell megvalósításakor.
Természetesen vannak alkalmazások, programok, melyeket a párhuzamosítással nem tudunk felgyorsítani, hiszen a szűk keresztmetszet eleve az ember. Mindennapi feladataink során a számítógépen csak a legritkább esetben végzünk egyszerre több feladatot, és még ha a háttérben a rendszer dolgozik is, a párhuzamosítás ezekben az esetekben a minél simább, akadályoktól mentes munkára is elég, a gyorsulást a felhasználó nem érzi többszörösnek. Ha nem ide, akkor hova kellhet igazán a „kraft”? Az NVIDIA szerint a 3D-s grafikához!
Az SLI 1998-ban, két 3dfx Voodoo2 SLI-be kötve
Ha egy kicsit (1998-ig) visszamegyünk az időben, és fölidézzük a 3dfx virágkorát, eszünkbe juthat az SLI (Scanline Interleaving) technológia, mellyel a 3dfx képes volt a vetélytársakat könnyedén a porba tiporni. Mit is látunk a képernyőn, amikor játszunk? Egy „átlagos” 3D-s kép objektumok tömkelege, melyet a program forgat, dönt, eltol, megjelenít, eltűntet. Az objektumok lehetnek a „legegyszerűbb”, több ezer háromszögből álló Alien-fejtől a pixel és vertex shader programok tömkelegéig bármik, és ha arra gondolunk, hogy az igazán élvezetes játékélményhez 1024x768-as felbontásban a videokártyának másodpercenként 60 (fps) x 786432 db pixel kirajzolására kell képesnek lennie (úgy, hogy még be sem kapcsoltuk az élsimítást), akkor már sejthetünk valamit, miért is kellhet a „kraft” a videokártyák világában.
NVIDIA SLI
Az új SLI 2004-ben, két NVIDIA GeForce 6800 egymás mellett
Az új, 2004-es SLI részletesebb bemutatása előtt lássuk, hogyan is jöhetett létre maga a technológia. Az NVIDIA-féle SLI (Scalable Link Interface) lényegében a PCI Express busz mellékterméke – létrejött, mert lehetősége volt létrejönni. A PCI Express architektúra lehetővé teszi, hogy az egyes PCI Express sávokat tetszőlegesen vezessük el az x1, x2, x4, x8 és x16-os foglalatokig. Az NVIDIA nForce4 Ultra lapkakészlet alapvetően 16 PCI Express sávot engedélyez a VGA számára, ám ezt az architektúra rugalmasságának köszönhetően 1x16 vagy 2x8-as felállásban is megvalósíthatja az alaplapgyártó. Az alaplapon fizikailag ez két x16-os foglalat képében jelenik meg, azonban elektronikusan ez két x8-as foglalat. Mivel még a jelenlegi csúcskártyák sem képesek kihasználni a nyolc PCI Express sáv által elérhető sávszélességet (2 GB/s fel és le is), így ez a módszer a gyakorlatban kifogástalanul működhet.
Az NV40-es GPU „röntgenképén” jól látható, hogy az NVIDIA már az NV40 tervezésekor gondolt az SLI lehetőségére, a GPU-nak van egy területe, amely lehetővé teszi az egyik GPU számára, hogy egy másikkal kommunikáljon és megossza a feladatokat kettejük között. Tehát, úgy tűnik, hogy egy hozzávaló lapkakészlettel, „néhány” tranzisztorral, és egy felkészített meghajtóprogrammal lehetővé válik két GPU erejének egyesítése. De vajon 1 + 1 = 2? Csak attól függ, hogy a GPU-k között hogyan oszlanak meg a feladatok. Lássuk, hogy az NVIDIA hogyan oldotta meg ennek megvalósítását.
A 3dfx bekebelezésével a 3dfx-féle SLI-technológia is az NVIDIA tulajdonába került, ám az SLI az NVIDIA olvasatában nem azt a bizonyos Scanline Interleavinget jelenti. A 3dfx-féle Scanline Interleaving metódus keretein belül az egyes videokártyák a képernyőn megjelenő képkocka egyes sorainak megjelenítéséért felelősek, vagyis az első kártya a páratlan, míg a második kártya a páros sorokat számolja ki. Az SLI névre az NVIDIA-nak csak marketingszempontokból volt szüksége, sokaknak még mindig a két GPU összekapcsolásából eredő teljesítmény jut eszébe az SLI-ről, márpedig ez elég ahhoz, hogy felkeltse a figyelmet, és jó időre a középpontba állítsa az NVIDIA megoldását.
Az NVIDIA féle Scalable Link Interface ettől eltérő módo(ko)n növeli a teljesítményt. Az első módszer a split-frame rendering (SFR) névre hallgat. Ez esetben mindkét kártya a végső képkocka egy-egy részét rendereli, a választóvonal horizontális. Az első kártya, mely a „vezérkártya” (az első PCI Express foglalatba került) rendereli le a képernyő felső területét, míg a második felelős a képernyő alsó területéért. Ez a megoldás terhelésfüggő, tehát a kártyák a munkán osztoznak meg 50-50 %-ban, a renderelnivaló képkocka komplexitásától függően. Ez az optimális megoldás, hiszen így mindkét GPU mindig teljes terhelés alatt van, tehát elviekben elképzelhető a folyamatos majdnem kétszeres sebességnövekedés (csak azért majdnem, mert szinkronizálásra és az adatok két GPU közti ide-oda pumpálására is időt kell szakítani), ugyanakkor mivel mindkét kártya folyamatosan és szinkronban dolgozik, nincs esetleges várakozás köztük az egyes frame-ekre, mint ahogy azt majd látni fogjuk a másik módszer esetében.
A második módszer az alternate frame rendering (AFR) névre hallgat, az SFR-nél megismert módszernél jóval egyszerűbb módon történik a képkockák kiszámítása, ugyanis nincs terhelésfüggő megosztás. Az AFR esetében az egyes frame-eket a GPU-k felváltva számolják ki, tehát például az első kártya felelős a páratlan, a második pedig a páros frame-ek kiszámolásáért. Ez a mód bizonyos szintű látenciát (késleltetést) eredményez, hiszen előfordulhat, hogy a processzor által a videokártyák felé küldött, egymás utáni frame-eket az egyik GPU gyorsabban számolja ki, mint a másik. Ez csak azokban az esetekben fordulhat elő, amikor a megjelenítendő képkockák sorozatában hirtelen komplexitásváltozás történik, ekkor előfordulhat bizonyos mértékű késlekedés a játékos által elvégzett mozgás (billentyű vagy egérkombináció) és a képernyőn megjelenő frame között. Ez az AFR-módot az SFR-nél kevésbé optimalizálttá teszi.
Az SLI-módok bemutatása után már nyilvánvalóvá válik, hogy a játékokban elért sebességnövekedés több faktortól is függ. Mindenekelőtt a meghajtóprogram az, amitől a játékok sebessége elsődlegesen függ, és talán ez az a pont, amely a leggyengébb láncszem a gépezetben. Az NVIDIA driver-írói egyelőre csak a „Top 100” játékra készítették fel a meghajtóprogramokat, így ha olyan játékba vagy programba botlunk, melyre nincs optimalizálva a driver (NVAPPS.XML), sebességnövekedést egyáltalán nem fogunk tapasztalni, hiszen az SLI nem fog működni. A drivert manuálisan is rá lehet bírni az SLI-s működésre, azonban ehhez profilokat kell létrehoznunk, ami ugyan egyszerűnek egyszerű, de ekkora anyagi beruházásnál bosszantó lehet. Emellett a játék sebességét döntően befolyásolja az az SLI-mód, amelyet az NVIDIA fejlesztőmérnökei az adott játékhoz társítottak. Ezt manuálisan nem tudjuk átállítani, alapértelmezés szerint ez a mód az AFR. Elképzelhető, hogy egyes játékok esetében az SLI-s működés által elért sebességnövekedés driver-verziónként változik, hiszen pl. a driver-írók variálgatják az egyes játékokhoz beállított SLI-módot (SFR/AFR). Végül a processzor sebessége is igen meghatározóvá válik, hiszen egy lassabb processzor kevésbé tud kiszolgáni két videokártyát a kellő adatokkal, így processzor- vagy vegyeslimitált beállításokkal elképzelhető, hogy akár lassulást is tapasztalunk az egykártyás rendszerhez képest.
Az üzembe helyezés - Asus A8N-SLI
Az Asus, amikor csak tehette, ott sürgött-forgott az SLI körül, valószínűleg ennek is köszönhető, hogy az NVIDIA világkörüli útján, melyen az SLI megismertetését és népszerűsítését tűzte ki célul, Asus A8N-SLI Deluxe alaplapokon mutatta be a technológiát. Ez azt is jelenti, hogy az Asus elsőként rukkolt ki nForce4 SLI chipsetes alaplappal, és – minő véletlen – az Asus alaplapja volt az első, amely hozzánk is eljuthatott.
Az Asus A8N-SLI Deluxe jelenleg a világ egyik legjobban felszerelt Athlon 64 processzorokhoz szánt alaplapja, a későbbiekben egy önálló cikk keretében jobban is megismerkedhetünk vele. A Socket 939-es processzorok fogadására képes A8N-SLI külföldön elvileg csak 20 dollárral lesz drágább az nForce4 Ultra lapkakészletre épülő A8N-E-nél, ám ezért a pénzért nem csak egy plusz PCIe foglalatot kapunk, hanem ráadás gigabites hálózati vezérlőt és egy plusz Silicon Image SATA RAID-vezérlőt is. Hát nem jó üzlet? Az alaplap felépítésével a majdani cikk keretein belül fogunk foglalkozni, egyelőre csak annyit róla, hogy az A8N-SLI igen tetszetősre sikerült (ezt a véleményt még igazi Gigabyte-hívők szájából is sikerült előcsalni...). Közvetlenül a processzorfoglalat alatt található egy PCIe x16 foglalat, majd két PCIe x1 foglalattal lejjebb egy újabb, külsejében PCIe x16 foglalatot találunk, ez azonban valójában már csak egy x8-as foglalat. A kettő között, a PCIe x1 foglalatok mellett található a selectorkártya.
A selectorkártya az Asus A8N-SLI Deluxe-ba helyezve [+]
A selectorkártya feladata a két PCIe x16-os foglalat funkcióját a chipset felé közvetíteni. Egyik állásában a felső PCIe x16 foglalat 16 sávot kap, az alsó pedig egy egyszerű x1-es foglalatként működik, míg a második állásában mindkét foglalat x8-as módra vált át. A selector-kártya használata rendkívül egyszerű, a két kis rögzítőkart ki kell akasztani, majd a kártyát magunk felé emelve kihúzhatjuk a foglalatából.
Az alaplapon az első PCIe x16 foglalat felett található egy négypines molex-csatlakozó, amit az Asus EZ-Plugnak nevezett el. Ez a tápcsatlakozó az SLI-s konfigurációk extra energiaigénye miatt került az alaplapra, az EZ-Plug a +12 V-os ágon ad plusz kakaót a videokártyáknak a stabilitás érdekében. A konfigurációt kipróbáltuk úgy is, hogy nem volt az EZ-Plugba becsatlakoztatva a táp – instabilitást nem tapasztaltunk, ám az Asus ajánlja, hogy ha már ott van az alaplapon, akkor használjuk ki ezt a lehetőséget. Ellenkező esetben a csatlakozó melletti piros led kigyullad, és a POST folyamán az alaplap figyelmeztet, hogy elfelejtettük a tápot csatlakoztatni.
A két, SLI-ben összekötött videokártya nem gondolatolvasással kommunikál egymással, ezért össze kell őket kötni egy NVIDIA-féle hídnyákkal, mely egyes információk szerint 10 GB/s-os adatkommunikációt tesz lehetővé. Ez bőven elegendő napjaink videokártyáihoz. A kis híd két végén egy-egy foglalat található, ezeket kell ráhelyezni az SLI-s videokártyák nyákján található SLI-kivezetésre.
A letesztelendő Asus alaplap mellé kaptunk két Asus videokártyát is, sajnos nem 6800 Ultrákról van szó, hanem 6600 GT-kről, de nem panaszkodunk. Az Asus Extreme N6600 GT órajele GPU- és memóriaoldalról is 500 MHz, a kártyák nyolc aktív futószalaggal és három vertex shaderrel rendelkeznek. Ha mindezeket összeadjuk, akkor egy 500/500 MHz-en járó, 16 pipeline-os, 6 vertex shaderrel ellátott kártyát kapunk, mely a GPU-órajelen kívül megegyezik a GeForce 6800 GT-vel.
Asus 6800 GT-k és 6600 GT-k párban [+]
Az SLI Windows alatt
Lássuk, hogyan zajlik egy SLI-s konfiguráció belövése. Miután a rendszert összeépítettük, beállítottuk a BIOS-t, feltelepítettük a rendszer, és feltelepítettük a Forceware-t, a meghajtóprogram egy figyelmeztető üzenetet küld.
Az üzenet arra hívja fel a figyelmünket, hogy a rendszer akár több videokártyával is használható, ennek aktiválásához az üzenetre kell kattintani.
A gépben egyelőre még csak egy videokártya van, ekkor a driver a PCIe x16 foglalatot teljes szélességében látja, mind a 16 PCIe sáv a 6600 GT szolgálatában áll. A több-GPU-s üzemmód fülre kattintva is azt az információt kapjuk, miszerint az alaplapban található videokártya képes az SLI-s működésre, mellyel megnövelhető a „reprodukció teljesítménye”.
Rakjuk be a második videokártyát, csatlakoztassuk hozzá az elsőhöz (és persze fordítsuk meg a selector-kártyát). Újra elindítjuk a Windows-t, ekkor a több-GPU-s üzemmód fülre kattintva már több lehetőségünk van választani. Elsőként engedélyezni kell a meghajtóprogram számára is az SLI-t, ezt egy újraindítással nyugtázza. A több-GPU-s üzemmód engedélyezése menüpont alatt megtalálható a terheléselosztás megjelenítését ki/bekapcsoló opció. Ezt bekapcsolva a játékokban láthatóvá válik, hogy a két videokártya milyen mértékben osztozik meg egymás között a renderelendő képkockán. Erről bővebben később.
A Windows elindulása után jelzi, hogy immár mind a két kártya együttműködik, tehát SLI-üzemmódban működik a számítógép.
Ebben az esetben az eszközkezelő is már két kártyát lát. A meghajtóprogram hőmérsékletkijelzője is két kártyát lát, ezek hőmérsékletét külön figyelemmel kísérhetjük. Sőt, ha alkalmazzuk az NVIDIA coolbits registry patchet, mellyel a videokártyák órajeleit változtathatjuk meg, ott is két videokártya túlhajtására lesz lehetőségünk, de csak egyszerre hajthatjuk túl őket. Amennyiben két különzöbő tuningpotenciállal rendelkező videokártyánk van, azt az órajelet alkalmazzuk, amelyiket a „gyengébb” kártya bírja.
Ha kiszedjük az alaplapból a második videokártyát, az SLI-mód természetesen megszűnik, erre a meghajtóprogram is figyelmeztet.
Mire van szükségünk az SLI-hez?
A pozitívumok felsorolása után nem haladhatunk el a negatívumok mellett sem, lássuk, mire van szükség ahhoz, hogy egy SLI-s konfigurációt összehozzunk, majd ha mindezzel megvagyunk, mire is számíthatunk?
Elsősorban szükségünk van pénzre, méghozzá nem is kevésre, mert ami ezután jön, az mind-mind pénzbe kerül.
Egy SLI-s konfighoz szükségünk van egy SLI-s alaplapra, mely szerencsés esetben csak kicsit, rosszabb esetben sokkal drágább az nForce4 Ultra chipsetes lapnál (azonos gyártót feltételezve).
Természesen szükség van két azonos GPU-val rendelkező kártyára is, 6600 GT-t 6800 GT/Ultrával, illetve 6800 GT-t 6800 Ultrával nem lehet összekötni. A két kártya BIOS-ának meg kell egyeznie, így az órajeleknek is. Amennyiben különböző órajelű kártyákat használunk SLI-ben, a meghajtóprogram a lassabbik kártyához fog igazodni. A két videokártyának azonos gyártótól kell származnia, vagy legalábbis azonos BIOS-szal kell működnie. Amennyiben ez a feltétel nem teljesül, inkompatibilitási és instabilitási problémákba ütközünk.
Az alaplap mellé kapnunk kell egy SLI hídnyákot, ezzel kell összekötni a két VGA-t, enélkül nem működik az SLI.
Rendelkeznünk kell egy kellően erős tápegységgel, melynek elegendőnek kell lennie az összes hardverelem kiszolgálására, ami két 6800-as kártyánál már nem csekély teljesítményt feltételez. Ha a videokártyák mellé nem kaptunk, akkor szereznünk kell valahonnan átalakítókat, amelyek két darab kétszer négypines molex tápkábelből két darab kétszer hárompines PCI Express kábelt varázsolnak. Ilyet egyáltalán nem könnyű szerezni (majdhogynem lehetetlen), szerkesztőségünk már tapasztalt a témában...
Mindezek után jó, ha rendelkezünk egy olyan számítógépházzal, melyben megoldott a szellőzés kérdése, a két videokártya által termelt hőt valahol ki kell vezetni. Két 6600-as kártyánál ez még nem túl nagy probléma, de a 6800-asokkal már egyáltalán nem szabad viccelődni.
Ha mindezzel megvagyunk, akkor már csak egy olyan meghajtóprogram kell, amely fel lett vértezve SLI-támogatással. Az utolsó hivatalos, WHQL-minősítésű Forceware már ilyen, a tesztekhez mi is a 66.93-ast használtuk.
És hogy mit kapunk mindezért? A fejleszthetőség gyakorlatilag egyértelmű, az NVIDIA állítása szerint elviekben 1,87-szeres (vagyis 87 %-os) gyorsulást tapasztalhatunk egy egykártyás konfigurációhoz képest.
Tesztkonfiguráció, szintetikus benchmarkok
Videokártya / driver | ASUS Extreme N6600GT 128 MB (500/500 MHz) / Forceware 66.93 MSI NX6800GT-TD256 256 MB (350/500 MHz) / Forceware 66.93 ASUS EAX800XT/2DT 256 MB (500/500 MHz) / Catalyst 4.11 | ||||
Processzor | AMD Athlon 64 3800+ (2400 MHz; 512 kB L2 cache) | ||||
Alaplap | ASUS A8N-SLI Deluxe | ASUS A8V Deluxe | |||
BIOS-verzió | 1003001.014 béta | 1008 | |||
Chipset | NVIDIA nForce4 SLI | VIA K8T800 Pro | |||
Chipset-driver | NVIDIA Unified Driver 6.31 béta | VIA Hyperion 4.53 | |||
Memória | Corsair TwinX1024-3200XL – 2 x 512 MB | ||||
Időzítések | 2-2-2-5 | ||||
Merevlemez | Hitachi Deskstar 7K250 160 GB (PATA, 7200 rpm, 8 MB cache) | ||||
DVD-meghajtó | ASUS DRW-0804P | ||||
Tápegység | Cooler Master RS-450-ACLY (450W) (Expert Computer Kft.) | ||||
Operációs rendszer | Windows XP Professional Service Pack 1 + DirectX 9.0c |
A tesztekhez a szerkesztőség rendelkezésére álló leggyorsabb processzort választottuk ki, az Athlon 64 3800+-szal remélhetőleg kikerüljük a CPU-limites beállításokat, bár amilyen erősek manapság a videokártyák, erre nincs túl sok esély...
Cikkeinkben folyamatosan szerepet kap a korábban már bemutatott 450 W-os Cooler Master tápegység, melynek most egy eddig nem használt funckióját is kipróbáltuk, a tápra ugyanis rá lehet kötni egy wattmétert, mellyel folyamatosan mérhető a rendszer teljesítménye. Sajnos a kijelző nem digitális, de a célnak megfelel, üresjáratban és terhelés alatt is stabilan áll a kijelző, így megközelítőleg le lehet olvasni a terhelést. Lássuk hát a teszteket.
Első lépésben leolvastuk, hogy a rendszer mennyit fogyaszt az egyes videokártyákkal. A videokártyákon kívül elvileg még a chipset is beleszólhat a végső fogyasztásba (a 6800 GT alatt egy VIA chipset volt). Az eredmények nem túl meglepőek, a legkevesebbet az egy 6600 GT-vel szerelt konfig fogyasztja, aztán jön az X800 XT, a 6800 GT, majd az SLI-s rendszer. Utóbbi plusz 30 wattot fogyaszt az egyvideokártyás rendszerhez képest, ez 27 %-os teljesítménynövekedés; nem hangzik rosszul, ennyit még megér, ha a két kártyával tényleg sokat gyorsul a konfig. Lássuk a terheléses adatokat.
A sorrend nem változik sokat, az első és utolsó helyen továbbra is az 6600 GT-vel felszerelt konfigurációk tanyáznak, terhelés közben már 40 W a különbség az egy- és a kétkártyás rendszer között, ez 20 %. Sajnos továbbra sincs lehetőségünk PCIe csatolójú 6800-as videokártyákat beszerezni, ezért ezek SLI-ben való tesztelését ki kellett hagynunk, azonban ha a 6600 GT eredményeiből következtetünk, akkor két 6800 GT-vel a rendszer teljesítménye terhelés alatt 260-270 W körül alakult volna. Reméljük, egyszer ki is tudjuk mérni. Most pedig lássuk a teszteket.
Először is szerettük volna az SLI általi teljesítménynövekedést a szokásos fillrate tesztekben kimutatni. Ez nem sikerült, de vajon miért? Nagyon úgy tűnik, hogy a Top 100-as kategóriába a MDolenc's Fillrate Tester már nem fért bele, így az SLI-s konfig nem gyorsult semmit az egykártyás konfigurációhoz képest. Akkor vegyük elő a 3DMark03-at, ezzel biztos nem lesz semmi gond...
Bárcsak így lenne ötösünk a lottón, 3DMark03 alatt már kirajzolódott az SLI sebességnövelő hatása. A 3DMark03-as fillrate tesztek szerint az SLI-s rendszer 89-91 %-ot gyorsult az egykártyás konfigurációhoz képest. Ezek csak az elméletileg elérhető eredmények, de azt látni, hogy két 6600 GT-vel az X800 XT és a 6800 GT eredményét is lepipáltuk. Mit mondhatnánk? Nem rossz...
Most lássuk szokásos shader-tesztjeinket, elővettük a Rightmarkot, és lefuttattuk a megszokott szkripteket, de ahogy a MDolenc's Fillrate Tester, úgy a Rightmark sem gyorsul semmit, tehát az SLI ebben a programban nem működik.
Ismét a 3DMark03-at vettük igénybe, és ezzel is lemértük a shaderek kiszámolásának sebességét. A Pixel Shader tesztben 70, míg a Vertex Shader tesztben 50 %-os sebességnövekedést tapasztaltunk. A vertex shader tesztben az X800-as, úgy tűnik, verhetetlen, az SLI-s konfig nem elég gyors, viszont a Pixel Shader tesztben már közel 30 %-os előnyt szerez a két 6600 GT.
Játéktesztek I.
Az első játék mi más is lehetne, mint a Doom 3? A Doom 3 az alternate frame rendering módot használja, ennek jeleként a képkocka két azonos részre van osztva, a baloldalon pedig egy fel-le ugráló csík jelzi a processzor terhelését.
A Doom 3-ban található demo1 1024x768-as felbontásban jól láthatóan processzorlimitált a két 6600 GT-s konfiggal, azonban efölött az SLI kimutatja a foga fehérjét, 1280x1024-ben 47, 1600x1200-ban pedig 63 %-os gyorsulást ér el. Az élsimítás és az anizo bekapcsolásával már 1024x768-ban is eltűnik a CPU-limit, minden felbontásban kb. 70 %-ot gyorsul az SLI-s rendszer az egykártyás rendszerhez képest. Érdekes összevetni az SLI-s konfigot a 6800 GT-vel, élsimítás és anizo nélkül egyértelmű a két 6600 GT előnye, azonban az élsimítás bekapcsolásával az SLI-s konfig a 6800 GT szintjén halad mindhárom felbontásban. Ez annak köszönhető, hogy a memória-sávszélesség mindkét esetben 32 GB/s-os, a 16 (2x8 vagy 1x16) pipeline sebessége már nem szól bele a csatába. Ha most 6800-asokat teszteltünk volna SLI-ben, akkor Doom 3 alatt elvileg az Ultra High Quality beállítás alatt is gyorsulást érzékelhettünk volna, azonban mivel a két SLI-be kötött kártya a „külvilág” felé nem 1 x 512, hanem 2 x 256 MB-osnak látszik, ezért ebben a módban az SLI nem gyorsított volna semmit.
Következő népszerű játékunk az UT2004, mely szintén az alternate frame rendering technikával gyorsul (?). A kérdőjel jogos, lássuk miért.
UT2004 alatt az SLI-s konfiggal nemhogy gyorsulást, hanem lassulást tapasztaltunk az egykártyás rendszerhez képest. Az 1280x1024 4xAA/16xAF-es mérésen kívül mindenhol körülbelül azonos mértékű a lassulás, ami azt jelenti, hogy UT2004 alatt a processzor ugyan két videokártya felé küldi az adatokat, az SLI mégsem gyorsít a rendszeren. Sajnos már csak utólag (amikor már nem állt rendelkezésünkre az SLI-s konfiguráció) kaptuk az információt, miszerint a játék „reduce mouse lag” opciója okozza ezt a problémát, ugyanis az opció aktiválása lecsökkenti a játékos műveletei (egérmozgás, egérgomblenyomás) és a képernyőn megjelenő jelenetsor közötti késleltetést, tehát úgymond a processzort és a videokártyát „szinkronizálja”, így az első GPU a második felé már nem küld adatot. Amennyiben még visszajut hozzánk a konfig, megismételjük a méréseket.
Következzen a nagysikerű Halo – ehhez a játékhoz bizony elkel a „kraft”, az előző generációs csúcskártyák körében már 800x600-as felbontás felett sem volt túl „népszerű” a játék. A Halo is az alternate frame rendering eljárás segítségével gyorsul egy SLI-s konfigurációban.
Halo alatt kaptuk az eddigi legjobb eredményeket, az SLI általi gyorsulás mértéke 90 % fölötti, ez bizony nagyon szép eredmény, két 6600 GT-vel akár 1600x1200-ban is játszhatunk. Ez főleg annak köszönhető, hogy a teszthez használt scene inkább a shader-sebességtől, mintsem a memória-sávszélességtől függ, így 2 darab 8 futószalagos kártya 500 MHz-en elegendő mindkét, a tesztben szereplő ellenfél legyőzésére (a 6800 GT-t az órajelek, az X800 XT-t pedig az NV40-ből örökölt pixel shaderek ereje miatt győzi le). A Halo egy ideális játék is lehetne az SLI népszerűsítésére.
A Splinter Cell ezzel szemben nem tenné túl népszerűvé az SLI-t, ugyanis alapértelmezés szerint nincs bekapcsolva, pedig az NVAPPS.XML fájlban megtalálható a Splinter Cell.exe is.
Elővettük a jól bevált Colin McRae Rally 04-et is, az fps-számok általában magasak, de a shaderek intenzív használata miatt ez a játék sem maradhatott ki a tesztek közül. Az eddig kipróbált programok közül a CMR04 az első, amely a split-frame rendering technikát alkalmazza az SLI-s gyorsításhoz. Ebben az esetben a baloldalt látható csík folyamatosan zölden telített, a képernyőn horizontálisan elhelyezkedő zöld vonal az, ami fel-le ugrál, ezzel jelezve, hogy az első és a második videokártya az aktuális képkockának mekkora területét számolja ki. Aktuális példánkban a fák lombkoronájának megjelenítése összetettségében megegyezik az út és az autó megjelenítésével, így az egyes számú GPU a látható képkockának éppen csak a 40 %-át számolja ki, míg a kettes a maradékot.
A CMR04-et láthatóan szereti az SLI, 1024x768-as felbontásban még kisebb (14 %), majd feljebb már nagyobb, 50 % körüli a gyorsulás mértéke. A grafikonokon jól látható, hogy két 6600 GT-vel pont egy 6800 GT teljesítményét érjük el, azonban ez igencsak elmarad a kétszereshez közeli sebességnövekedéstől. Egy 6600 GT-vel a játék jóindulattal még 1280x1024-ben 4xAA és 16xAF mellett is játszható, az SLI beiktatásával elérjük, hogy a játszhatósági küszöb 1600x1200-ra nőjön.
Játéktesztek II.
A Half-Life 2 nemrég jelent meg, népszerűségéhez nem férhet kétség, ezért itt a helye egy SLI-tesztben is. A Half-Life 2 esetében az NVIDIA választása az alternate frame rendering-re esett, tehát SLI-ben a Half Life 2 képkockáit a két GPU felváltva számolgatja ki, és így gyorsul a játék.
Demóinkat minden játékban tudatosan úgy szoktuk elkészíteni, hogy a tesztjeinkben lemért fps-ek reprezentálják az adott játékok alatt elérhető sebességet az adott kártyával. Half-Life 2 alatt az első demónkat úgy vettük fel, hogy a shaderek jussanak főként szerephez, az eredmények pedig ennek megfelelően is alakulnak. Élsimítás nélkül 1024x768-ban processzorlimitált a játék, jól látható, hogy a processzor csak kb. 100 fps-re elegendő adatot tud a videokártya felé küldeni. Az egykártyás 6600 GT és a 6800 GT teljesítménye ezután szépen csökken, a grafikonon látható két kártya vonala szinte párhuzamos. Ezzel szemben az SLI-s konfiguráció sokkal kevésbé érzi meg a felbontásnövekedést, ez annak köszönhető (ha már a 6800 GT-hez hasonlítgatunk), hogy a 6600 GT magórajele 500 MHz (szemben a 6800 GT 350 MHz-ével), így shaderszámolás szempontjából a két kártya között nem kétszeres (ahogy a futószalagok számától azt elvárnánk), hanem csak 40 %-os a különbség. Az élsimítás bekapcsolásával eltűnik az SLI-s konfig 6800 GT-vel szembeni előnye, és a két variáció azonos sebességűnek mutatkozik, köszönhetően a memóriasávszélesség-értékek egyenlőségének. Első Half-Life 2-es demónkban tehát 50 % körüli gyorsulást tapasztaltunk.
Második demónkban jóval kevesebb shader található, inkább a kártyák nyers számolási teljesítményére fektettük a hangsúlyt, ám mivel a Half-Life 2-ről van szó, a shaderek sebességcsökkentő hatását sem tudjuk 100 %-osan kizárni a tesztből. 1024x768-ban ismét a processzor a korlátozó tényező (3 %), efölött a felbontás növelésével megnövekszik az SLI használatából adódó gyorsulás mértéke is, és 36-56 %-os sebességnövekedést érünk el két 6600 GT-vel. Ebben a demóban a két 6600 GT-s konfig ismét gyorsabbnak bizonyul a 6800 GT-nél. Az élsimítás bekapcsolásával az SLI-s összeállítás csak 33-41 %-ot tud profitálni az SLI meglétéből, pedig egyáltalán nincs szó processzorlimites környezetről, ezek szerint a két kártya ennyit tud (egy 6800 GT sebességével azért még felér). Élsimítás mellett az SLI használata 1024x768-ról 1280x1024-re növeli a játszhatóság küszöbét. Második HL2 demónkban az SLI teljesítménynövelő hatása 30-40 % körüli.
Utolsó játékunk a kihagyhatatlan Far Cry, melyben az NVIDIA a Colin McRae Rally 04-hez hasonlóan szintén a split-frame rendering-re tette a voksát a meghajtóprogram megírásakor. A játékból kilopott képkockán is jól látszik a terheléses munkamegosztás, az első GPU-ra rábízott képterület kiszámítása - a meghajtóprogram szerint - nem túl bonyolult feladat, így a választóvonal kb. a kép 60-70 %-ánál van.
Mint mindig, most is a megszokott demóinkat használtuk fel – ami jól működik, azt ne cseréld le alapon. A Fort pályán játszódó replay némileg processzorlimites jelenet, a tengerparton és a dzsungelben járkálunk, így a nagy látótávolság miatt több távoli objektumot is ki kell számoltatni a processzorral, a shader-használat a háttérbe szorul. Ezzel a demóval egyébként az SLI-s konfigurációnak problémái akadtak, nemegyszer használhatatlan eredményeket (minimális sebességnövekedés) kaptunk a replay lefuttatásakor, ugyanis a GPU-terheléseloszlást mutató vonal úgymond „beakadt”, és a második kártya folyamatosan csak a talaj kiszámolásával volt elfoglalva (tehát kb. 90/10 %-os volt a terhelésmegoszlás a két GPU között). Ebből is látható, hogy az SLI gyorsulása óriási mértékben a drivertől függ, elég egy hiba, és máris nem várt eredménytelenség lesz a jutalmunk. Visszatérve a számokhoz, a 6600 GT-ken nem segít túlságosan az SLI megléte, élsimítás nélkül csak 1600x1200-as felbontásban érünk el nagyobb gyorsulást, ám ez még mindig nem elég ahhoz, hogy egy GeForce 6800 GT vagy egy X800 XT nyomába érjen az SLI-s konfiguráció. Az élsimítás bekapcsolása a kártyák közötti valódi különbségek markáns kirajzolódását jelenti, az SLI itt 40 % körüli gyorsulást okoz, kivéve 1280x1024-ben, ahol az eltérés jóval nagyobb, hiszen egy 6600 GT-vel a 128 bites memóriavezérlő miatt hirtelen nagyot csökken a teljesítmény. Az SLI-s konfig ismét nem éri utol a 6800 GT-t, az X800 XT-t pedig főleg nem.
Második demónkban a Regulator pályán, egy épületen belül rengeteg árnyékkal és fényhatással (shader) telitűzdelt útvonalat járunk be, itt a videokártyákon múlik minden, a processzor kevésbé szól bele az eredményekbe. Élsimítás nélkül 1024x768-ban mindössze 15 %-os gyorsulást tapasztaltunk, azonban a felbontás növelésével a két 6600 GT szárnyra kap, és 58-74 %-osra nő az SLI által okozott gyorsulás. Érdekes látni, hogy 1024x768 és 1280x1024 között az SLI-s konfig relatíve kisebb mértékben lassul, mint a 6800 GT, ez annak köszönhető, hogy 1024x768-ban még a processzor és a GPU-kat összekötő híd is beleszól az SLI-s eredményekbe. 1600x1200-as felbontásban az SLI a nyerő. Az élsimítás bekapcsolásával minden felbontásban folyamatos 70-80 %-os gyorsulást idéz elő az SLI használata, ez pont elegendő ahhoz, hogy két 6600 GT-vel egy 6800 GT teljesítményét elérjük. Itt ismét kirajzolódik, hogy hiába a 2x8 futószalag 500 MHz-en, szemben az 1x16-tal 350 MHz-en, a memóriasávszélességi értékek azonosak, így az SLI nem tud gyorsabb lenni a 6800 GT-nél (kivéve 1024x768-ban, ahol még kevésbé korlátozó tényező a memória-sávszélesség).
Konklúzió
Tesztjeinkből kiderült, hogy az SLI, mint fejlesztési lehetőség nagyon szép eredményekkel kecsegtet a jövőre nézve. Megvenni most egy 6600 GT-t, majd később, amikor kevésnek érezzük benne az erőt a legújabb játékokhoz, venni egy újabbat (akkor már olcsóbban) a lehető legegyszerűbb fejlesztési lehetőség (ha nem számoljuk azt, hogy csak ugyanattól a gyártótól vehetünk ismét kártyát, amelyiktől az első is származik). Két 6600 GT-vel a legtöbb esetben elérhetjük vagy túl is szárnyalhatjuk egy GeForce 6800 GT teljesítményét, a sebességnövekedés egy 6600 GT-hez képest a legtöbbször 40 % fölötti. Ha 6800 GT-ben (vagy Ultrában) gondolkodunk, akkor egyértelmű, hogy 32 futószalaggal szemben semminek és senkinek nincs esélye, tehát olyan fejlesztési lehetőséghez jutunk, mellyel bőven elleszünk újabb kártyagenerációkon át. Most „csak” 120 ezer forintod van videokártya vásárlására? Vegyél egy 6800 GT-t, és ha már kevésnek érzed a sebességét (úgy 1-2 év múlva), akkor vegyél egy másikat mellé, akkor már sokkal olcsóbban.
Mindennek, aminek van jó oldala, annak van rossz oldala is, ez alól az SLI sem kivétel. Az SLI egy jó "dolog", de több rossz mellékhatásával együtt már nem olyan vonzó, mint azt az ember elsőre gondolja (egy átlagfelhasználó számára legalábbis)... Egy új SLI-s rendszer kiépítése több szempontból is sántít, amikor a pénzkiadásra kerül sor. Bemegyünk az üzletbe, és kérünk egy SLI-képes videokártyát. Aha, de ahhoz, hogy ezt később össze tudjuk kötni egy másik SLI-képes kártyával, egy SLI-s alaplapot is kell vennünk, ami minden valószínűség szerint nem lesz olcsó mulatság (amikor majd kapni is lehet őket). Tovább: van alaplapunk, de vajon a mostani tápegység elég lesz annak a két kártyának a kiszolgálására? Egyáltalán nem biztos, tehát vegyünk nagyobb tápot is! OK, megvettük a tápot is, felmerül a kérdés, a számítógépház eléggé szellős-e ahhoz, hogy két kártyát elbírjon a belső légáramlás? A felhasználók nagyon kis rétege rendelkezik Cooler Master Stacker- és Thermaltake Xaser-féle, 7 db ventilátort fogadni képes házakkal, tehát egyáltalán nem olyan egyszerű ez, mint elsőre gondolná az ember, és akkor még nem beszéltünk a két kártya által okozott zajról sem...
Objektíven szemlélve az SLI lehetőségeit, újabb pozitívumok nem, ellenben negatívumok az eszünkbe juthatnak. Az SLI legnagyobb ellensége jelenleg maga a driver, amit az NVIDIA fejleszt. Ha kiadjuk a második kártyáért a pénzt, akkor elvárunk egy bizonyos teljesítménynövekedést, amiről tesztjeinkből kiderült, játékonként változó mértékű. Vannak programok, melyekben nagyon nagy gyorsulással számolhatunk (pl. Halo, 90 % körül), ám vannak olyan játékok, melyekben a gyorsulás egyáltalán nem áll egyenes arányban a befektetett pénzzel, és akkor még nem beszéltünk azokról a játékokról, melyekkel problémás az SLI működése (mi az UT2004-ben és a Far Cry-ban tapasztaltunk ilyet, de a sok ezer más játék között lehetnek még problémás esetek). Vagy gondoljunk azokra a játékokra, amelyek nincsenek benne a Top 100-ban, ezért a drivert meg kell ahhoz buherálni, hogy az SLI egyáltalán be legyen kapcsolva. A PROHARDVER! az SLI-kérdésében ítéletet nem hoz, mindenki maga döntse el, hogy számára mely szempontok a fontosabbak.
NVIDIA SLI-rendszer – ami tetszett:
-
az egykártyás konfigurációhoz képest elérhető sebességnövekedés a legtöbb esetben 50 % fölötti,
-
a fejleszthetőség lehetősége egyedülálló és első olvasatra egyszerű.
NVIDIA SLI-rendszer – ami nem tetszett:
-
(relatíve) drága beruházás (két videokártya, SLI-s alaplap, esetleg új táp és ház),
-
sok áramot fogyaszt, ezzel párhuzamosan sok hőt is termel,
-
több kártya több zajt is generál,
-
kevés játékban van meg a befektetett pénzért elvárható gyorsulás,
-
esetleg egyáltalán nincs gyorsulás (Top 100 esete),
-
problémák jelentkezhetnek a játékokban.
fLeSs
A tesztben szereplő számos Asus részegységet az Asus magyarországi képviselete juttatta el hozzánk, az MSI NX6800GT-TD256-ot pedig az Expert Computer Kft. jóvoltából tudtuk letesztelni.