Szerző: Bodnár Ádám

2002. május 14. 19:43

Bemutató: Matrox Parhelia-512

Közel hároméves várakozás után a kanadai Matrox végre elszánta magát, és egy teljesen új architektúrán alapulú, csúcskategóriás videochipet mutatott be. Cikkünkben a lehető legrészletesebben kívánjuk bemutatni a világ első 512 bites grafikus processzorát, a Matrox Parhelia-512 chipet.

Itt ülök a számítógép előtt 2002. május 14-én délután negyed négykor, és azon gondolkozom, hogy mit írjak... Kint süt a nap, az ember leginkább a hormonjai után menne egy ilyen szép tavaszi délután, de hát valami történt, amire sokan közel három évet vártunk. Erasmus kolléga megkért -- mint addikt Matrox-rajongót --, hogy én (Atko) írjam meg a bevezetőt a HWSW Matrox Parhelia-512 cikkéhez, ezért ülök most itt. Bár ez nem teljesen igaz, mivel akkor is itt ülnék, ha nem kértek volna meg a HWSW-s fiúk a bevezető megírására, de akkor most nem a szövegszerkesztő ablaka világítana az arcomba, hanem valamelyik idegen nyelvű internetes oldal, és további információ-morzsák után kutatnék a Parheliával kapcsolatban.

Szóval bevezetőt kellene írnom, de hogy is kezdjem, kedves olvasó? Úgy gondolom, az lenne a legjobb, ha visszatekintenénk picit az elmúlt évek Matrox-történelmébe, hiszen sokan vannak, akik csak most fogják igazából megismerni ezt a céget, és sokan vagyunk azok, akik már elfelejtettük, hogy hol is kezdődött mindez. Most nem akarom itt elismételni azokat az elcsépelt marketing maszlagokat, hogy már negyed évszázada jelen van a piacon és már több mint ezer díjat gyûjtött be a Matrox, mivel ez szerintem senkit sem érdekel, ezért inkább összefoglalom, hogy mióta és miért is ismerhetjük a Matroxot úgy, ahogy ismerjük.

Hat éve, 1996 tavaszán felbolydult a számítógépes szaksajtó egy új videokártya láttán, melyet egy kis kanadai cég, a Matrox Graphics gyártott és az MGA-2064 grafikus chipjével szerelt. A Matrox MGA-2064 olyan újításokkal büszkélkedhetett, mint a világ első 64 bites, WRAM-ot használó, 3D gyorsítási képességekkel is felvértezett grafikus processzora. Nos fiatalabb olvasóinknak jegyezném meg, hogy 1996-ban még nem nagyon voltak "háromdé-gyorsítók" a piacon, ezért akkoriban ez elég nagy újdonságnak számított. Ezzel a Matrox tarolt, drága volt a kártya, de mindenki, aki "király csávó" szeretett volna lenni, ilyet vett, mert egyszerűen nem akadt párja. Ezzel a grafikus chippel a Matrox meglehetősen nagy megbecsülést szerzett magának, mind az átlag-, mind pedig a professzionális felhasználók körében.

Ezek után 1996 és 1999 között a Matrox sok újdonsággal jelentkezett, évente több új terméket is bemutatott (Mystique, Millennium II, Mystique 220, G100, G200), de egyik termékük sem volt annyira előremutató, mint a Millennium I 1996-ban. Elérkezett 1999 tavasza, amikor is a szaksajtó megint felbolydult, ugyanis megint valami olyan újdonsággal állt elő a Matrox, amit azelőtt senki sem csinált. Ez volt a G400, mely elsőként támogatott egyszerre két megjelenítőt (DualHead) és egy olyan szemet gyönyörködtető vizuális effektet, mint az EMBM. Ez a két fogalom volt az, amellyel eladták a G400-at, és ebből a két funkcióból az egyik azóta minden videokártyának alaptartozékává vált: a két megjelenítő együttes támogatása. 1999 elmúlt, a G400 kezdett elavulni, és a nagyközönség várta a következő Matrox "durranást".

Sajnos hiába, mivel két év alatt csak egy G450-et és egy G550-et sikerült kihozniuk, mely chipek még mindig a G400-on alapultak, ezért sem sebességben, sem tudásban nem nyújtottak többet annál. Sokunk egy G800-nak nevezett grafikus chipre várt, amely azonban csak nem akart kijönni, és már nyugodtan állíthatjuk, hogy nem is fog. A Matrox sosem állította, hogy terveztek egy G800 nevű chipet, viszont egyesek tudni vélik, hogy volt G800, de sajnos bizonyos kellemetlenségek folytán választania kellett a cégnek: a G800-at vagy a Parheliát fejezik be. Ezzel elérkeztünk 2002 tavaszához, amikor is ismét felbolydult a szaksajtó, megint egy Matrox grafikus chip miatt, mely sokunk reményei szerint megint korszakalkotó lesz.

Kedves olvasó, remélem ezzel a bevezetővel kellő kedvet csináltam a cikk további részéhez, amelyben Ytse megpróbálja minél érthetőbben elénk tárni a Matrox Parhelia-512-ben rejlő újdonságokat és lehetőségeket. Itt és most hadd ragadjam meg az alkalmat, hogy megköszönjem a HWSW szerkesztőségének a megtiszteltetést, hogy én írhattam meg e cikk bevezetőjét.

Atko, a HWSW egyik alapítója

[oldal:A Parhelia-512]

Mit is takar a hangzatos név? A Parhelia, a magyar nyelvben melléknap egy meteorológiai jelenség: amikor a napfény úgy tükröződik a levegőben található jégkristályokon, hogy a szemlélődő számára úgy tűnik, két vagy több nap van az égen. Az 512 pedig az új bűvös szám, a Parhelia bemutatása során többször találkozunk majd vele. Mindenesetre a Matrox szerényen csak annyit állít, hogy a Parhelia-512 a világ első 512 bites grafikus processzora. Lássuk a chip legfontosabb tulajdonságait:

  • 0,15 mikronos csíkszélességű gyártástechnológia
  • 80 millió (!) tranzisztor
  • 4 renderelő futószalag
  • órajelenként 4x4, azaz 16 textúra feldolgozása
  • 4 programozható vertex shader
  • 256 bites DDR memóriabusz
  • hozzávetőleg 20 Gbyte/sec memóriasávszélesség
  • legfeljebb 256 Mbyte DDR SDRAM támogatás
  • 4x/8x AGP-támogatás, Side Band Addressing, Fast Writes
  • Teljes DirectX 8 pixel és vertex shader kompatibilitás

Első látásra elég ijesztőnek tűnik, legalábbis a szakértő egyből számolgatni kezd, a pénztárcájába néz, majd nyugtatókat vesz be. Nos igen, a Matrox Parhelia-512 chipre épülő kártyák nyár végére tervezett megjelenésükkor nem lesznek olcsók, ezzel szemben nagyon sokba kerülnek majd: az előzetes információk alapján a legkisebb, 64 Mbyte DDR SDRAM-mal szerelt változatért 300 dollár körüli összeget kérnek majd, a 256(?) Mbyte memóriával szerelt csúcsmodellért pedig valószínűleg 450 dollárt kell fizetni.

Cikkünkben megpróbáljuk a lehető legrészletesebben bemutatni a Matrox Parhelia-512 chipet. A bemutató során igyekszünk a lehető legtöbb képet felhasználni, ugyanis szerintünk ezek segítségével lehet a legérthetőbben leírni egy adott technológia lényegét vagy jelentőségét. Ennek megfelelően kezdjük a chip vázlatos rajzával:


Kattints az ábrára!

A Parheliába az AGP interfészen és az "512 bites" (256 bit DDR) memóriabuszon kereszül érkeznek az adatok, elsőként a vertex shaderekbe. A chipben összesen 4 darab 128 bites (4x128=512) vertex shader kapott helyet, amelyek egy órajel alatt egyenként négy darab 32 bites lebegőpontos adatot képesek feldolgozni. A Parhelia-512 vertex feldolgozó egysége teljesen DirectX 9-kompatibilis. A fenti ábrán a vertex shaderektől jobbra látható a chip egyik legnagyobb újítása, a hardveres displacement mappinget (HDM) megvalósító motor.

[oldal:Mi is az a displacement mapping?]

Hogy mi is az a displacement mapping? Ezzel kapcsolatban hadd idézzem a HWSW alapító főszerkesztőjének, a Matrox egyik legnagyobb hazai rajongójának számító és e cikk bevezetőjét is író Atko egy korábbi írását:

Gyakorlatilag ez egy olyan eljárás, amely a végeredményre nézve kísértetiesen hasonlít az environment mapped bump mappingre, azonban bump mappinggel ellentétben itt nem csak a felület normálvektorát módosítják, hanem magát a felületet is. Ez gyakorlatban annyit jelent, hogy a displacement mapping (DM) eljárással előállított testeken a hatás nemcsak a felületen, hanem a kontúrvonalakon is látszódni fog. Példaként: EMBM használatával egy bumpos földgömb kontúrvonala kör marad, míg DM használatával a kontúrvonal is megváltozik -- a hegyeknél kidudorodik, a völgyeknél beljebb nyomódik --, mivel a DM eljárás magát a test geometriáját változtatja meg.


Ez a kép maga a displacement map. Ez gyakorlatilag megegyezik a bump mapping esetében használt bump mappel. Ezen a képen a világosabb részek jelentik a magasabb területeket, míg a sötétebb árnyalatok a mélyebb pontokat.


Ez a kép pedig a displacement mapping eljárás során kapott felület. Érdekes ugye?

Valóban az. A displacement mapping egyik fontos eleme, hogy a módosítani kívánt felületet a chipnek a displacement maptől függően további poligonokra kell osztani. A Parhelia-512 ezt is hardveresen végzi el, mégpedig olyan módon, hogy figyelembe veszi az objektumok és a kamera térbeli távolságát is: a szemhez közelebb eső részen részletesebb lesz az objektum geometriai felbontása, a távolban viszont már csak kevesebb új háromszöget rajzol ki a chip, ezzel munkát takarítva meg, ugyanis a messze eső részek kevésbé láthatóak, felesleges őket nagy részletességgel kirajzolni. Ezt a technológiát egyébként depth-adatpive tesselationnek, azaz mélységfüggő tesszelációnak nevezik. Mint ismeretes, a tesszeláció az a folyamat, amikor egy objektumot poligonokra -- jelen esetben háromszögekre -- osztunk fel.

A displacement mapping technológia nagy előnye, hogy segítségével alacsony poligonszámú modellek és kis méretű textúrák segítségével igen bonyolult felületek hozhatók létre, ráadásul esetünkben valós időben, hardveres gyorsítással.

[oldal:A pixel shaderek]

A vertex feldolgozó egységektől és a hardveres displacement mapping motortól "délre" következik a Primitive Engine, amely gyakorlatilag a három dimenziós színpad felállításáért felelős. Egy NVIDIA GeForce4 Ti vagy egy Ati Radeon 8500 esetében itt található az "occlusion culling", azaz az eleve nem látható részek kiszűrése. A Matrox tervezői egy gyors Z-puffertörlési eljáráson kívül semmilyen sávszélesség-kímélő eljárást nem vezettek be, amely egy csúcskategóriás grafikus chiptől kissé szokatlannak tűnik. Persze a Parhelia-512 a maga 20 Gbyte/sec körüli memória-sávszélességével valószínűleg még sokáig nem érzi meg ezek hiányát, azonban a DirectX pixel shadereket kihasználó programok esetében a teljesítményveszteség mindenképpen érezhető lesz, hiszen a Matrox chipje minden egyes pixelen le kell futtassa a pixel shader programokat, függetlenül attól, hogy végül láthatóak lesznek-e vagy sem.

Továbbhaladva megérkezünk a Parhelia renderelő futószalagjaihoz, amelyekből összesen négyet találunk, hasonlóan az NVIDIA GeForce-hoz vagy az Ati Radeon 8500-hoz. Amiben azonban a Matrox újat mutat, az az órajelenkénti négy textúra kezelése, azaz pixelenként négy texel illesztése. Mint ismeretes, az NVIDIA GeForce és ATi Radeon 8500 chipekben található renderelő futószalagok órajelenként 2 textúrát kezelnek, az eredeti Radeon pedig órajelenként 3 texel felfeszítésére képes. Mit is jelent ez? Azt, hogy a Matrox Parhelia-512 jelentős teljesítményelőnyre tehet szert azokban a játékokban, amelyek egyszerre kettőnél több textúrát használnak. Amennyiben erre nincs szükség -- a Quake 3 például rendszerint csak két textúrát használ --, gyakorlatilag teljesítményveszteség nélkül alkalmazható trilineáris vagy 8-mintás anizotropikus szűrés.

A Parhelia-512 pixel shaderei rugalmasság szempontjából gyakorlatilag ugyanazt tudják, mint a GeForce4-ben található társaik, szó sincs a 3Dlabs P10-féle programozhatóságról. Azonban a Matrox esetében 5 fokozatú shadereket alkalmaztak, míg a GeForce4 esetében 2 fokozatút. Ez azt jelenti, hogy a Parhelia-512 egy menetben 5 pixel shader műveletet tud végrehajtani, míg a GeForce4 csak kettőt. Ráadásul a Matrox esetében lehetőség van arra is, hogy a chip egy menetben összesen 10 pixel shader műveletet hajtson végre két futószalagon.

Természetesen -- és ezt itt negatív értelemben kell venni -- a Parhelia renderelő futószalagjai egész számokkal dolgoznak, azaz a chip nem felel meg a DirectX 9 elvárásainak. Az ok ugyanaz, mint a 3Dlabs P10 esetében: a lebegőpontos végrehajtóegységeket felvonultató pixel shaderek alkalmazása annyira megnövelte volna a tranzisztorok számát, hogy a chipet nem lehetett volna 0,15 mikronos csíkszélességgel gazdaságosan, elérhető áron és jó minőségben legyártani. A gyártók egybehangzó véleménye szerint a 0,13 mikronos technológia bevezetése jelenti majd az áttörést ebben a tekintetben, azaz még mindig az NVIDIA NV30 -- vagy az Ati R300? -- az esélyes az első teljesen DirectX 9-kompatibilis chip címére.

[oldal:Új élsimítás]

A blokkvázlaton továbbhaladva újabb érdekes részhez érkezünk, ez pedig az anti-aliasing. A Parhelia-512 itt egy teljesen új eljárást at vezet be, ez pedig a Fragment Anti-Aliasing. Ennek az eljárásnak a lényege, hogy a chip 16x mintavételezés segítségével megállapítja, hol vannak a képen élek, amelyeket el kell simítani. Bár ez a logika rendkívül bonyolult áramkört és sok tranzisztort igényel, a Matrox szakemberei úgy döntöttek, hogy az anti-aliasing mindenképpen egy olyan tulajdonsága a modern videochipeknek, amelyre komoly hangsúlyt kell fektetni.


A Nomads egy jelenete FSA nélkül és FSA használatával

A Fragment Anti-Aliasing (FAA) minden pixelt 16 részre oszt fel és megvizsgálja, élhez tartozik-e. Amennyiben nem, akkor a pixelek változás nélkül bekerülnek a frame bufferbe, azaz a chip nem végez feleslegesen élsimítást abban az esetben, ha az adott pixeleknél az nem szükséges, ha az anti-aliasing csak homályossá tenné a képet. A vállalat mérései szerint egy kép pixelei közül átlagosan mindössze 5-10 százalék tartozik az élekhez, a Fragment Anti-Aliasing csak ezeken végzi el az élsimítást, ezzel jelentős teljesítményt spórolva meg.


A Fragment Anti-Aliasing eljárás menete

Sajnos azonban semmi sem lehet tökéletes, a Matrox szerint az általuk kipróbált mintegy 40 játék közül néhányban az FAA használatakor problémák (villódzás, stb.) léptek fel. Azonban ez valószínűleg a korai meghajtóprogramok számlájára írható. Az FAA módszer hátránya továbbá, hogy egymást metsző poligonok esetében nem alkalmazható.


...és két további illusztráció

A Matrox chipek és kártyák hívői, ha már végképp kifogytak kedvencük mellett felsorakoztatott érvekből, a képminőséggel kezdtek példálózni, tegyük hozzá, jogosan. A kanadai cég -- mivel elsősorban professzionális igényeket szolgál ki -- mindig nagy hangsúlyt fektetett a képminőségre, és a Parhelia-512 esetében sincs ez másként. Újdonságnak számít a GigaColor technológia, amely révén az egyes színkomponensek ábrázolása a jelenleg elterjedt 8 bit helyett 10 biten történik. Mint azt talán sokan tudják, a jelenleg használt 32 bites színfelbontás esetén 8 bit jut a vörös, 8 a zöld és 8 a kék komponensre, a fennmaradó 8 bit pedig az átlátszóságért, áttetszőségért felelős alpha csatorna számára vann fenntartva. Kiszámítható, hogy ebben az esetben 16,8 millió árnyalat kikeverésére van lehetőség. A GigaColor alkalmazásakor a vörös, zöld és kék komponensekre egyenként 10 bit jut, az alpha csatorna viszont kénytelen beérni kettővel. Ebben az esetben a megjeleníthető színek száma meghaladja az 1 milliárdot.

A 10 bites pontosságú ábrázolás és feldolgozás multitextúrázáskor is fontos. Mint ismeretes, egy több textúrával rendelkező, megvilágított és esetleg ködben vagy füstben látható pixel végső színét a textúrák egymásra illeszétésével kapja meg, amely a gyakorlatban szorzásokat jelent. 8 bites pontosság esetén a szorzat tényezői is 8 bitesek és a végeredmény is 8 bites. Ilyenkor a végeredmény gyakran pontatlan, hiszen az adott színkomponensre (vörös, zöld, kék) eső 256 maximális árnyalat kevésnek bizonyulhat. Kettőnél több textúra esetén már látható a sávosodás, csíkozódás. 10 bites pontosság esetén a szorzat is pontosabb lesz, ezért, és a lehetséges 1024 komponensenkénti árnyalat miatt a végeredmény lényegesen szebb és csíkozódásmentes lesz.

A GigaColor előnyeit a játékosokon kívül természetesen elsősorban a grafikával, kiadványszerkesztéssel professzionális szinten foglalkozó felhasználók tudják majd kihasználni. Ezen felül 10 bites a chipben található DVD-dekóder és a tv-kimenet is. A Matrox szerint mindkettő kategóriájának legjobbja. A Parheliában ezen felül bevezetére került a Glyph anti-aliasing nevű technológia, amely a kétdimenziós alkalmazásokban megjelenített szövegfontok hardveres élsimításáért felel. A Windows XP-ben már láthattunk ilyet.


A Glyph anti-aliasing hatása

[oldal:Többmegjelenítős technológiák]

A chipben két teljes értékű 400 MHz-es RAMDAC kapott helyet, mint ismeretes, ez az az alkatrész, amely a frame pufferben található képet a monitor számára értelmezhető analóg jellé konvertálja. A két 400 MHz-es RAMDAC révén a Parhelia 2048x1536 pixeles felbontású, tűéles képet képes kipréselni magából, ráadásul a két RAMDAC teljesen egyenértékű, azaz a monitorok felbontásával kapcsolatban semmiféle megkötések nincsenek.

A G400-ben debütált, majd a G450-ben és G550-ben továbbfejlesztett DualHead technológia is nagyot lépett előre, a Parhelia-512 már TripleHead technológiával rendelkezik, ami azt jelenti, hogy egy harmadik, 230 MHz-es RAMDAC révén a chip egyszerre akár három megjelenítőt is képes kezelni, így egy gigantikus, 3840x1024 pixeles felbontású kijelzőt nézhet az, akinek elég nagy az asztala és nem fárad el a nyaka.

A TripleHead technológiára épül a Surround Gaming, amely révén a játékokat is "széles vásznon" élvezhetjük. A hírek szerint a Quake 3 illetve a motorjára épülő programok máris támogatják a Surround Gaming technológiát és az Unreal Tournament 2003 is ki fogja használni az új Matrox chipben rejlő lehetőségeket.


...és a Jedi Knight és a Quake 3 szélesvásznú kiadása

Összességében elmondható, hogy megérte éveket várni a Matrox nagy dobására, azonban ne felejtsük el, hogy az impozáns technológiai arzenál mit sem ér megvásárolható kártyák és megfelelő minőségű meghajtóprogramok nélkül. Korábban már utaltunk rá, hogy a Parheliára épülő kártyák megjelenése a nyár végére várható, addigra várhatóan az ajtón dörömböl az NVIDIA NV30 és az Ati R300 is. A Matrox lelkes rajongói addig is megnyugodhatnak, hiszen a technológia fölény kedvencük oldalán áll. De hogy meddig? Erre csak az NVIDIA vagy az Ati mérnökei tudnának választ adni.


A Parhelia tesztkártya (a felvételt a Stormregion csapata készítette)

A cikk elkészítésében elévülhetetlen érdemeket szerzett Atko, Fiery, a Stormregion és a Matrox európai képviselete. Köszönjük!

Szólj hozzá a fórumban!

a címlapról