Castellum

Matrox Millenium G400 - Sebesség és Képminőség


Ez a cikk bemutatja a Matrox G400 3D képességeit a képminőség és a teljesítmény tekintetében. A G400 képminősége az NVIDIA TNT2-vel, valamint az S3 Savage4-el lett összehasonlítva. Az OpenGL és Direct3D teljesítmény csak a TNT2-vel került összehasonlításra. Egy rész pedig az enviroment mapped bump mapping-nak (vagy EMBM-nek) lett szentelve.

A képen a 16 megás Millenium G400 látható. A kártya Samsung SGRAM-okkal lett felszerelve, amely óvatosan 166 MHz-re van beállítva. A 32 megás verzió ehhez hasonló, 4 db. SGRAM modul hozzáadásával a kártya másik oldalán. A G400 chip-et masszív hűtőborda takarja.


A 16 megás Millenium G400


A G400 két különálló katódsugárcső vezérlőt (CRTC-k) tartalmaz, ami a DualHead képernyőkezelés alapja. Az elsődleges CRTC a G400 integrált RAMDAC-jához kapcsolódik egy RGB monitor kimenettel. A második CRTC a Matrox MGA-TVO chip-hez kapcsolódhat, megjelenítve a képet egy televízió képernyőjén vagy egy második monitoron. Ez teszi lehetővé a második CRT csatlakozót, amint az a fenti képen látszik. Az olvasók csodálkozhatnak a TV kimenet hiányán a kártyán. A TV kimenet a második CRT csatlakozón (mely sávváltó videó kimenettel lett elkészítve) kapcsolható televízióhoz egy speciális adapteren keresztül.

Trilinear Filtering és Mip-mapping

A Matrox G400 3D megjelenítésének tulajdonságai teljesen megegyeznek a mostani videó gyorsítókkal. Azonban, akárhogy is, itt széles skáláját találjuk a mip-mapping és a trilinear filtering használatának a különböző kártyákon. A Quake 3 Test-ből elmentett képeken eltéréseket találhatunk a G400, a TNT2, és a Savage4 között. És ámbár itt nem láthatók ezek az eltérések, az Unreal-ben is jelen vannak.

Alul egy kis képet láthatunk a "Quake3 Test Ver 1.06" egyik jelenetéből, amely eredetileg 1024x768-ban, 32 bites színmélységgel rendelkezett, a 32 bites textúrákat maximum részletességre állítva. A bekeretezett rész a renderelés valós méretét mutatja G400-on, TNT2-n és Savage 4-en, összehasonlításképpen a Trilinear és Bilinear üzemmódokhoz.


Quake 3 Test 1024x768-as felbontásban


A G400 'per pixel mip-mapping'-ot használ, mely növekedést mutat a horizontális 'mip-banding'-hoz képest, mint ahogy az lentebb látszik. A 'Mip-banding' azon változások összesége, amelyek akkor tünnek fel, amikor egy hirtelen mozgás történik az egyik mip-map szintről a másikra. A Trilinear filtering egy olyan technika, amely a mip-banding változtatásait tünteti el a mip-mapping-al. A bekapcsolt Trilinear filter-el a mip-banding hatékonyan eltünik.


Trilinear filter - G400                   Bilinear filter - G400


A TNT2 'trilinear dithering'-et használ, mely ténylegesen mutat dithering eredményeket. Hozzátéve, a 'mip-band' ferde, hasonlóan a 'per triangle mip-mapping'-hoz. Összehasonlítva a 'per pixel mip-mapping'-gal, a 'per triangle mip-mapping' kevesebb számítást igényel és így könnyebb megvalósítani. Azonban az eredmény nem annyira megnyerő, mint a 'per-pixel mip-mapping'-nál.


Trilinear dithering - TNT2                   Bilinear filter - TNT2


A Savage4 horizontális 'mip-band'-ot csinál, amely jellegzetes a 'per pixel mip-mapping'-hoz. A háromból a Savage4 mip-map használata jár a legkisebb elmosódással. Figyeljük meg a tisztán elkülönülő téglákat a keskeny út messzi végén.


Trilinear filter - Savage 4              Bilinear filter - Savage 4


Sebesség Tesztek

Amint azt az alábbi táblázat mutatja, a G400 és a G400 MAX memória órajele magasabb, mint a TNT2 és a TNT2 Ultra memóriájáé (ezek az NVIDIA ajánlott értékei, de több kártya magasabb értékekkel lett kiadva).


A 150 MHz-es processzorsebesség a maximum elérhető legnagyobb, amelyet a mi nem MAX G400-asunk minden tesztben teljesített. A G400 memória sebességét nem lehet a processzor sebességétol függetlenül állítani. A 150 MHZ-es prcesszorsebességhez 200 MHz-es memóriasebesség kell. Így, az összehasonlítás kedvéért, hogy ne legyen különbség az órajelben, mindkét kártyát 150 MHz-es processzor, valamint 200 MHz-es memóriasebességre állítottunk. A tesztgép egy 450 MHz-re állított Celeron volt. A két mérőprogram a Quake3 Test és az Expendable volt.

A framerate mutatása helyett a teljesítmény mutatók a másodpercenként renderelt pixelek millióiban lettek megadva. Az úgynevezett fillrate képkockaszám x felbontás -ból származtatott érték. (A "Fillrate"-et tágan értelmezzük, mivel nem teljesen megyegyező a kártya aktuális fillrate-jével, ami párszor több, ha a mélység komplexitását és a multi-pass rendering-et is figyelembe vesszük.) A grafikonok az Y-tengely fillrate, és az X-tengely felbontás szerint lettek ábrázolva. A felbontás a képernyőn lévő pixelek számával van ábrázolva. Például, a 640x480-as felbontás 307,200 pixelt jelent a képernyőn.


A Z-buffer a frame buffer azon része, amelyet a kamera látószögéből a "távolság" vagy "mélység" értékek meghatározására használnak. A G400 korai drivereinek problémája volt a 32 bites Z-buffer támogatásával. Ez azóta ki lett javítva, de szokatlannak tűnik, hogy a 32 bites Z-buffer alapból nincs engedélyezve.

A Matrox G400 támogatja a 16 bites, a 24 bites Z (és a 8 bites stencil) és a 32 bites Z bufferelést. Hasonlóan az S3 Savage4-hez és az Ati Rage128-hoz, ez elegendő ahhoz, hogy az alkalmazás maga válassza ki, milyen színmélységet és Z-buffert akar használni. Például, Az Unreal 32 bites Z-t használ 16 bites színmélységnél. Sajnos a TNT2 a Z-buffer mélységét a színmélység értékéhez állítja be. Ebben az esetben az Unreal 16 bites Z-re esik vissza, ha 16 bites színmélység van kiválasztva. Az Expendable 16 bites Z-t használ, tekintet nélkül a színmélységre. És itt van a 'Quake3 Test ver 1.06', amely szintén Z-buffer mélységét a színmélységhez igazítja.

OpenGl teljesítmény: 16-bit

A Quake 3 Test (demo1) az OpenGL teljesítmény barométereként lett használva. A 16 bites Quake3 Test eredményei a 16 megás G400 kártya és a 32 megás TNT2-vel lett mérve. A további teszteknél a 32 megás G400 ugyanolyan eredményeket produkált, mint a 16 megás kártya.

G400 & TNT2: 16-bit, Bilinear

A lenti grafikonból azonnal kitünik, hogy a TNT2 teljesítményben felülmúlja a G400-at alacsony felbontásokban. 1024x768-as felbontásnál (vagy 786,432 pixelnél a képernyőn) a grafikon egyenletes fillrate korlátozást mutat, és kétségtelen mértékben sávszélességet is. A G400 grafikonja, ezzel ellentétben, egy egyenes vonal. Ez azt jelenti, hogy van tartalék fillrate teljesítménye mind a három felbontáshoz. Ennél fogva, a G400 minden ereje nem mutatkozik meg az OpenGL ICD-ben.



G400 & TNT2: 16-bit, Trilinear

A következő grafikon az előzőhöz hasonló, a trilinear filtering hozzáadásával. Feltünő, hogy a G400 gyakorlatilag "szabad" trilinear filtering-ben bármely felbontásban. Összehasonlításképpen, a TNT2 Ultra trilinear dithering-je nagyobb esést szenved a fillrate tekintetében. Ennél fogva, a G400 trilinear technikája nem csak kíválóbb képminőségű, hanem eredményesebb is a TNT2 trilinear dithering-jénél.



OpenGL Teljesítmény: 32-bit

Eltérően a 16 bites Quake3 Test-nél, a 32 bites Quake3 Test-nek előnye származik a plusz 16 megából, amely a 32 megás G400 kártyán található.

G400 16MB: 16-bit & 32-bit

Az alábbi grafikon a 16 bites és 32 bites teljesítményt hasonlítja össze a 16 megás G400 kártyán. Hozzátéve a 32 bites színmélységhez, a texturák és a Z-buffer is 32 bitesre lett állítva. Alacsony felbontásokban, mint a 640x480 (307,200 pixel a képernyőn) és 800x600-ban (480,000 pixel a képernyőn) a színmélység nem mutatkozik meg a teljesítményen. 1024x768-as felbontásban és 32 bites színmélységnél a fillrate jóval nagyobb mértékben lesüllyed, valószínűleg a sávszélesség korlátainak köszönhetően. Ez azért van, mert a G400 16 megás videómemóriája nem képes az összes textúrát eltárolni. Tehát, ez az AGP textúrázásra marad.



G400 16MB & 32MB: 32-bit

Az alábbi grafikon a 32 bites fillrate-et hasonlítja össze a 16 és a 32 megás Matrox Millenium G400 kártyák között. Tisztán látható a textúrák tárolására használt plusz 16 mega videómemória előnye.



G400 32MB & TNT2 32MB: 32-bit

Ez a grafikon a 32 bites renderelést hasonlítja össze a 32 megás G400 és a TNT2 között. Magasabb felbontásban a G400 a TNT2 nyomában halad.


A Matrox OpenGL ICD még láthatóan az optimizálás időszakában van, ami szemmel látható a relatív gyenge fillrate-eknél alacsonyabb felbontásokban. Ami fontos, a G400-nak bőségesen van teljesítmény tartaléka, ami lehetővé teszi, hogy a TNT2 közelébe érjen magas felbontáson.

Direct3D Teljesítmény: 16-bit

A Direct3D teljesítményt az Expendable-el mértük, a timedemo2-t használva. Még egyszer, mindkét kártya 150 Mhz-es processzor és 200 Mhz-es memória órajelre volt állítva. 200 Mhz-es memória órajelnél a 16 bites teljesítmény nyilvánvalóan nincs sávszélességében korlátozva a tesztelt felbontásokban. A G400 teljesítménye nagyon közel van a TNT2-höz.



Direct3D Zeljesítmény: 32-bit

A teljesítmény esés a 32 bites renderelés miatt viszonylag jelentéktelen. A 24 bites Z és a 8 bites stencil buffer mindkét kártyán be volt kapcsolva. A Matrox G400 valójában utoléri a TNT2-t magas felbontásban.


A Matrox G400 teljesítménye kitűnő Direct3D-ben.

Nem lehet G400-ról szóló cikk teljes, az Enviroment Mapped Bump Mapgging (vagy röviden EMBM) említése nélkül.

Environment Mapped Bump Mapping

Az Enviroment Mapped Bump Mapping egy jóval erőteljesebb technikának tűnik összehasonlítva az embossed bump mapping-gal, ahol nincs korlátozva a fény terjedésének a szöge vagy az egyenletlenségek mértéke szimulálható lenne.

Lent egy kicsinyített részlet látható az Expendable-ból, amin járműnyomok vannak az embossed bump mapping-gal készítve.


Expendable 1024x768x32 felbontásban

Az embossed bump mapping használata esetén, amikor a fényforrás (ebben az esetben egy tűzlabda) függőlegesen van a járműnyomokra, az alatta lévő nyom foltja (A) eltűnik. A szomszédos nyomok (B), amelyek a fényforrás szögében vannak, megjelennek. Ahelyett, hogy besüllyednének, ahogy kellene, a nyomok a felszín fölött tünnek fel.


Sajnos, az EMBM a jelenlegi formájában nem használható nem tükröző felületekre, mint a fenti példa. A Matrox által kigondolt environment mapping technika túllépte határait. Az új módszer lehetővé teszi az egyenletlenségeknek, hogy a fény fordulásával megváltozzanak, miközben "matt" megjelenést tartanak fent. Alább egy példa az EMBM-re, amelyet egy jármű fényes felületén alkalmaznak.


Részlet egy Expendable küldetésből.
Felbontás: 1024x768x32


A jármű felszíne EMBM-el..


A jármű felszíne felvillan a fegyver tüzében
Az egyenletlenségek jól láthatóak maradnak..


Az Environment mapped bump mapping (EMBM) remekül néz ki, de igazából több teljesítményt kíván. A fő oka ennek az, hogy ez két lépést kíván a G400-tól. Az első lépésben a G400 különleges áramkörei, amelyek a többi gyorsítókártyában nem található, kiszámítják a 16 bites bump map textúrát és a környezeti térképet, egy összekavart környezeti térképet állítva ezzel elő. Ez az effekt elegendő lehet egy egyszerű víz felszínének. A második lépésben, az összekavart környezeti térkép összekeveredik az alap textúrával. A kis képek lent a híres "hullám" effektet mutatják az Expendable-ból, amely a két lépéses environment bump mapping technikát használja.


Azon kívül, hogy számos lépés kell, az is megszülethet az ember fejében, hogy az EMBM a sávszélesség használatot is megnövelheti, mivel több textúrát igényel. Hogy megfigyeljük az EMBM teljesítmény lökését, az Expendable timedemo 1 végre lett hajtva EMBM-el és anélkül, különböző felbontásokban és színmélységekben. Összehasonlítva a különböző felbontások és színmélységek eredményeit, a plusz sávszélesség használat, amit az EMBM rátesz, nem jelentős. Az EMBM lassítása különösen a dual pass rendering miatt következik be. Ezen felül, ne feledjük, hogy az egyenletlenségek jelen időoben képzőodnek, amely a 3D pipeline-t foglalkoztatottságát biztosítja.


A timedemo 1 küldetése az EMBM-et csak a hullám effekt megvalósításához használja. Az Expendable teljes verziója az EMBM-ot jóval szélesebb körben használja a járműveken, a falakon és a folyosókon. A teljesítmény hátránya, így, több lesz.

Konklúzió

Köszönhetően a mip-mapping jobb kivitelezésének és trilinear filtering-ének, a Matrox G400 képminősége felülmúlja az NVIDIA TNT2-t mind a Direct3D-s, mind az OpemGL-es játékokban. Bár a mip-mapping színvonala nem olyan precíz, mint az S3 Savage4-nek.

Egyenlő órajelnél Direct3D-ben a G400 teljesítménye egy szinten van a TNT2-vel. A Matrox OpenGL ICD a fejlesztés korai stádiumában van, de nagy felbontásoknál, ahol a legfontosabb, a teljesítmény azonos a TNT2-vel megegyező órajelnél. A Savage4 a 64 bites memória interfésszel nem méltó párja a G400-nak.

Ehhez hozzáadva az environment mapped bump mapping-ot és a DualHead képernyőkezelést, a mérleg nyelve elsöprő fölénnyel a Matrox Millenium G400 felé dől.

Hozzászólások

A témához csak regisztrált és bejelentkezett látogatók szólhatnak hozzá!
Bejelentkezéshez klikk ide
(Regisztráció a fórum nyitóoldalán)
  • alph4 #26
    Itt van:
    PowerDesk Resolution Manager 4.1

    Bár szerintem már nem aktuális :DDD
  • Lammer #25
    Helló!

    Tudna valaki műköső linket wgy PD Resolution Manager-hez, sajnos csak halott linkeket találok...
    :(
    G400-hoz kéne...
  • fotel #23
    ubi - cserélünk?
    ha dualheades a tied és van hozzá TV kábel
  • ubi #22
    nekem volt egy g400 32mb Dh-m!!! masfel ev utan meghalt! Talan nem kellett volna frissiteni a bios-at! MOst egy g450 32 Dh-m van szerintem szar! Pii450Mhz proci van alatta, meg 192mb ram, akkor is szar! nagyon gyenge 3d-ben! 400as gyorsabb, izmosabb volt! g800-AST VARTAM de nem csinaltak meg , hanem kiattak a fos 550-est!
  • fotel #21
    Eladnám Matrox G400 16Mb SG-RAM SingleHead VGA-mat, csere is érdekel TVkábellel is ellátott G400/450/550 DualHeadre!

    [email protected]