Hardware: ATI * NVIDIA * 3Dfx * MATROX

Hardware — ATI * NVIDIA * 3Dfx * MATROX
Hardware — ATI * NVIDIA * 3Dfx * MATROX

Intro

Strategiile celor de la ATI m-au băgat întotdeauna în ceață. Poate nu sunteți la curent, dar la un moment dat, respectiva firmă a scos niște driver-e intitulate "TURBO" care "maximizau" performanțele cu 40% și care dădeau (în Winbench) rezultate identice cu cele obținute de Voodoo2. Detaliul acesta ar fi putut să fie lipsit de importanța dacă rezultatele din Quake2 n-ar fi fost cu 30 de frame-uri sub V2 și cu câteva frame-uri mai puțin decât cu vechile drivere ATI (alea neoptimizate). Așa că aveam motive să fiu destul de reticent de fiecare dată când vreun fericit posesor de "expert la joacă/lucru" îmi lăuda minunile tehnologiei pe care le experimentase. Toate astea țin de trecut așa că voi pune capăt introducerii și voi reveni în prezent.

Prezent

In momentul de față pe Internet se vorbește din nou despre ATI și întoarcerea lor spectaculoasă (mă rog, acum discuția s-a orientat spre noul TNT2 - despre care voi vorbi în numărul viitor însă). Am auzit de rapoarte care specificau 95º C drept temperatura nominală de funcționare a cip-ului și de performanțe care întreceau orice așteptări așa că singura soluție acceptabilă era să vad cu ochii mei cum stă treaba.

Una peste alta m-am "înarmat" cu câteva plăci cu chipset Rage128 și RivaTNT (obținute prin amabilitatea firmei Flamingo Computers) și le-am dat drumul să arate fiecare ce poate. Pentru comparație am făcut aceleași teste și cu o placă Millenium G200 și un Voodoo2.

Cea mai mare problemă a benchmark-urilor o reprezintă parametrii folosiți. Diferențele - chiar mici - ai respectivilor parametri pot influența substanțial rezultatele obținute, făcându-le astfel de necomparat. Din acest motiv voi intra mai mult în detaliu în privința configurației de test și a diversilor parametri (în rest se presupun valorile implicite). Așa că: placă de bază ABit BH6, Celeron 300A (66x4.5), AGPCLK/CPUCLK 1/1, 128M SDRAM PC100, Win98, DirectX 6. Raportul AGP/CPU este important pentru că determină viteza la care merge AGP-ul: 1/1 înseamnă la aceeași frecvență cu bus-ul procesorului (altă valoare posibilă este 2/3). Pentru a urmări scalabilitatea plăcilor, unele teste au fost făcute cu procesorul overclock-at la 450 ceea ce a introdus unele modificări. Bus-ul procesorului a fost pus la 100Mhz, unde placa Riva nu a făcut față (e vorba de 100Mhz pe AGP), așa că am setat AGPCLK/CPUCLK la 2/3 pentru a reduce AGP-ul la 66MHz.

Plăci testate
Plăci testate

Plăci testate:

Creative Labs RivaTNT 16M AGP 110Mhz
ATI Rage128 Fury 32M AGP 100MHz
ATI Rage128 Xpert 16M AGP 100MHz
Matrox Millenium G-200 8M AGP
Diamond Monster 3DII 8M PCI 92 MHz
RivaTNT: 4.11.01.0109
Rage128: 4.11.6060WEB
MGA G-200: 4.11.01.1000
Voodoo2: 4.10.01.0207

Testele

Testele au fost făcute doar în jocuri. Nu am folosit programe "serioase" tocmai din motivul de care vorbeam în introducere. Multe firme s-au obișnuit să-și optimizeze driver-ele mai mult pentru winbench decât pentru jocuri așa că n-are nici un rost să te lauzi că placa ta are X milioane de bogoMarks sau că scrollează cel mai repede in Excel ;) dacă nu poți juca nimic ca lumea. Testele 2D nu sânt semnificative în momentul în care se pare că s-a ajuns la o limită la care toate acceleratoarele oferă performanțe 2D asemănătoare. Singurele diferențe sânt date de rezoluție si refresh, ele fiind dictate în ultimă măsură de dimensiunea memoriei și de frecvența ramdac-ului.

Pentru jocuri am ales QuakeWorld, Quake2, Unreal, Half-Life și "proaspătul" apărut demo de Daikatana (care este inclus și pe CD). Se observă imediat că exceptând Unreal-ul toate jocurile se bazează pe engine-uri de Quake/Quake2 - fapt în măsură să arunce discuția pe tarâmul alunecos al interpretării rezultatelor și din prisma performanțelor respectivului engine (ca să nu mai amintesc de scalabilitatea plăcilor video) pe procesoare diferite. Dată fiind mărimea subiectului în cauză voi ocoli cu dibăcie problema și voi trece la modalitatea de testare.

Versiuni jocuri / API
Versiuni jocuri / API

Versiuni jocuri / API:

OpenGL:

  • QuakeWorld 2.30
  • Quake2 3.20
  • Half-Life 1.0.0.8
  • Daikatana DM Demo

Direct3D:

  • Unreal 2.20

Detalii

Timedemo și timerefresh au devenit modalitatățile cele mai populare de verificare a performanțelor plăcilor video/procesoarelor. Time demo execută un demo preînregistrat la viteza maximă permisă de placă video/procesor apoi împarte numărul de cadre la intervalul de timp scurs, de unde rezultă numărul de cadre/s. Timerefresh efectuează o rotație de 360º și calculează numărul de cadre/s. Rezultatele acestuia din urma sânt cam greu interpretabile tocmai din cauza condițiilor diferite de test (număr de personaje, pozitie, orientare etc). Am folosit timerefresh acolo unde nu există demo-uri înregistrate (Daikatana) și în Half-Life unde se manifestă un bug la redarea demo-urilor.

Alt detaliu important este API-ul folosit (Glide, OpenGL sau D3D). Glide este standard "proprietar" 3Dfx și oferă performanțe foarte bune lucrând direct cu hardware-ul. OpenGl-ul - implementarea lui de fapt - poate veni în două variante: incompletă sau completă. 3Dfx-ul are un miniport care implementează o parte din funcțiile OGL și cu care se pot rula jocurile bazate pe engine de Quake (funcțiile OGL sânt transformate în apeluri Glide și asta îl face destul de rapid).

Ceilalți producători (Nvidia, ATI) încearcă și reușesc să ofere o implementare completă și funcțională de OGL (cu toate că unii reușesc mai bine decât alții). Matrox au și ei un ICD beta1 ale cărui performanțe sânt cam slabe însă; azi a aparut beta2 dar nu l-am încercat încă.

De Direct3D... ar fi mai bine să nu ne legăm. Ce se întâmplă cu texturile, cu calitatea imaginii cu rasterul care apare... s-a discutat mult și mai e loc de tot pe atât pentru argumentele pro și - pe bună dreptate - contra. Un singur lucru este de ținut minte: performanțele plăcilor noi în D3D sânt mari (în detrimentul știm noi cui) ajungându-se de exemplu ca un Savage3D să depășească de multe ori un V2 în "Incoming" sau "Forsaken". Așa că trebuie ținut seama de asta acolo unde am fost forțat să fac testele în D3D în loc de OGl (despre calitatea inferioară a imaginii nici nu mai are rost să amintesc).

Pentru QuakeWorld am folosit Overkill ("timedemo overkill"), pentru Quake2 - Crusher ("timedemo 1; demomap crusher.dm2"), iar pentru Unreal testul FPS.Timedemo.

În Daikatana am dat timerefresh în primul ecran din "Gibber on the roof", cu ecranul la 70% și texturile la calitate maximă, iar la Half-Life am folosit prima cameră în care ajungi după ce-ți deschide soldatul cele 2 uși (cea cu 3 omuleți).

Toate demo-urile se află pe CD împreună cu instrucțiunile de instalare/folosire.

Plăcile ATI și RivaTNT au fost furnizate de firma FLAMINGO computers
Plăcile ATI și RivaTNT au fost furnizate de firma FLAMINGO computers

Bench

Bench
Bench

Test: UNREAL FPS.TIMEDEMO, Direct3D — CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1
Test: UNREAL FPS.TIMEDEMO, Direct3D — CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1

Rez RivaTNT Fury128 Xpert128 G200 Voodoo²
Renderer D3D D3D D3D D3D D3D
640 36.1 39.24 39.25 30.52 33.66
800 30 34.90 32.96 22.08 21.84

Test: UNREAL FPS.TIMEDEMO, Direct3D CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1

Test: QUAKE2 Crusher.dm2 timedemo, 16bit textures, OpenGL — CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1
Test: QUAKE2 Crusher.dm2 timedemo, 16bit textures, OpenGL — CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1

Rez RivaTNT Fury128 Xpert128 G200 Voodoo²
Renderer System OGL System OGL System OGL OGL ICD b1 3dfx mGL 1.46
640 26.6 21.3 21.6 17.9 28.9
800 26.7 21.8 21.7 14.7 26.8
1024 25 21.7 21.5 - -
1600 13.5 16.1 13.4 - -

Test: QUAKE2 Crusher.dm2 timedemo, 16bit textures, OpenGL CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1

Test: QUAKEWORLD Overkill timedemo, gl_flashblend 1, OpenGL — CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1. (*) Pentru G200, valorile cu * sint obtinute cu wrapperul D3D
Test: QUAKEWORLD Overkill timedemo, gl_flashblend 1, OpenGL — CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1. (*) Pentru G200, valorile cu * sint obtinute cu wrapperul D3D

Rez RivaTNT Fury128 Xpert128 G200 Voodoo²
Renderer System OGL System OGL System OGL OGL ICD b1 3dfx mGL 1.46
640 36.4 23.6 23.9 29.7 | 40.5* 49.1
800 36.3 24.0 24.0 23.3 | 28.7* 44.1
1024 35.3 23.9 24.0 16.1 | 18.3* -

Test: QUAKEWORLD Overkill timedemo, gl_flashblend 1, OpenGL CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1 (*) Pentru G200, valorile cu * sint obtinute cu wrapperul D3D

Test: Half-Life timerefresh, OpenGL — CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1
Test: Half-Life timerefresh, OpenGL — CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1

Rez RivaTNT Fury128 Xpert128 G200 Voodoo²
Renderer System OGL System OGL System OGL D3D wrapper 3dfx miniGL
640 64.66 50.06 51.40 74.4 93.52
800 53.06 50.09 50.74 44.3 83.75
1024 40.47 50.25 48.92 28.22 -

Test: Half-Life timerefresh, OpenGL CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1

Test: DAIKATANA E1M1 timerefresh, 70% screen size, OpenGL — CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1
Test: DAIKATANA E1M1 timerefresh, 70% screen size, OpenGL — CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1

Rez RivaTNT Fury128 Xpert128 G200 Voodoo²
Renderer System OGL System OGL System OGL OGL ICD b1 3dfx miniGL
640 125.12 97.60 97.19 41.25 120.86
800 82.20 91.82 85.84 34.86 72.97
1024 49.78 64.87 55.77 - -
1600 19.6 26.81 22.81 - -

Test: DAIKATANA E1M1 timerefresh, 70% screen size, OpenGL CPU: 300MHz (4.5x66), AGPCLK/CPUCLK: 1/1

Test: DAIKATANA E1M1 timerefresh, OpenGL — CPU: 450MHz (4.5x100), AGP/CPU: (1/1 Fury128) (2/3 RivaTNT)
Test: DAIKATANA E1M1 timerefresh, OpenGL — CPU: 450MHz (4.5x100), AGP/CPU: (1/1 Fury128) (2/3 RivaTNT)

Rez RivaTNT Fury128
Renderer System OGL System OGL
640 126.80 141.32
800 82.52 105.32
1024 49.90 64.46
1600 19.80 26.86

Test: DAIKATANA E1M1 timerefresh, OpenGL CPU: 450MHz (4.5x100), AGP/CPU: (1/1 Fury128) (2/3 RivaTNT)

Test: UNREAL FPS.TIMEDEMO, Direct3D — CPU: 450MHz (4.5x100), AGP/CPU: (1/1 Fury128) (2/3 RivaTNT)
Test: UNREAL FPS.TIMEDEMO, Direct3D — CPU: 450MHz (4.5x100), AGP/CPU: (1/1 Fury128) (2/3 RivaTNT)

Rez RivaTNT Fury128
Renderer D3D D3D
640 47.20 56.81
800 36.70 45.00

Test: UNREAL FPS.TIMEDEMO, Direct3D CPU: 450MHz (4.5x100), AGP/CPU: (1/1 Fury128) (2/3 RivaTNT)

Concluzii

Voodoo2: Culorile nu sunt la fel de "frumoase" ca pe celelalte plăci - ceea ce nu-i nimic nou. Miniportul OGL este ok, dar OGL ICD 2.1b cam schioapătă (oops am uitat să zic mai devreme de el). Performanțele în D3D puteau fi mai mari.

G-200: Placa nu este și nici nu a avut pretenții de "V2 killer" așa cum au avut unii impresia la data apariției acesteia. Culorile arată foarte bine, wrapper-ul D3D merge binișor dar ICD-ul lasă cam mult de dorit.

RivaTNT: Culorile arată foarte bine. ICD-ul este bine făcut și a mers fără probleme peste tot. Singura problemă (generic vorbind) ar fi că s-a "agățat" când AGP-ul era pus la 100MHz - se vede imediat că performanțele nu au crescut la fel de mult ca în cazul Rage-ului care a mers la 100MHz).

Rage128: În primul rând nu se încălzește atât de rău cum auzisem - se încălzește ce-i drept, dar nu exagerat. Altă bilă albă e că a rezistat la 100MHz și că se scalează bine cu procesorul (vezi rezultatele din Daikatana și Unreal). Performanțele D3D sânt și ele foarte bune. O altă surpriză au fost rezultatele obținute cu Xpert128 care, cu toate că este o versiune "lite" de Fury, a ieșit puțin mai bine în testele "640". Problema cu Rage128 este că face un "dither" foarte suspect în urma căruia calitatea culorilor / imaginii are de suferit considerabil (în 16bit unele imagini arată mai suspect decit pe V2). ICD-ul a mers în Daikatana, QW, Q2 și HL dar a avut niște scăpări în "alte programe". Am mai avut neplăceri cu corecția gamma care mergea pe desktop dar nu și în jocuri.

Încă ceva: în mod intenționat n-am adus vorba de problema 16 biți vs. 32. 3Dfx-ul justifică lipsa modului 24/32 prin performanțele zic ei "mult inferioare" față de 16. Noile plăci se descurcă bine în 32 biți iar TNT2-ul pare să nu aibă probleme nici în modul 1280x1040x32. În momentul în care o să apară și la noi plăci cu Riva2 va fi un articol cu teste dedicate exclusiv acestui subiect.

-Roger

Având în vedere prețurile, calitatea imaginii și performanțele, alegerea redacției la momentul actual este Riva TNT.