RIVA 128
Utgivningsdatum | 25 augusti 1997 icke-primär källa behövs ] | [
---|---|
Kodnamn | NV3 |
Kort | |
High-end | RIVA 128, ZX |
API- stöd | |
Direct3D | Direct3D 5.0 |
Historia | |
Företrädare | NV1 |
Efterträdare | RIVA TNT |
Supportstatus | |
Stöds inte |
RIVA 128 , eller "NV3" , som släpptes i augusti 1997 av Nvidia , var en av de första grafikprocessorerna för konsumenter som integrerade 3D-acceleration utöver traditionell 2D- och videoacceleration. Dess namn är en förkortning för R ealtime I nteractive V ideo och A nimationsaccelerator .
Efter den mindre framgångsrika " NV1 "-acceleratorn var RIVA 128 den första produkten som fick Nvidia brett erkännande. Det var också en stor förändring i teknisk riktning för Nvidia.
Arkitektur
Nvidias " NV1 "-chip hade designats för en fundamentalt annorlunda typ av renderingsteknik, kallad kvadratisk texturmapping, en teknik som inte stöds av Direct3D . RIVA 128 designades istället för att accelerera Direct3D i största möjliga utsträckning. Den byggdes för att rendera inom Direct3D 5 och OpenGL API- specifikationer. Grafikacceleratorn består av 3,5 miljoner transistorer byggda på en 350 nm tillverkningsprocess och är klockad till 100 MHz . RIVA 128 har en pipeline med en enda pixel som kan uppgå till 1 pixel per klocka vid sampling av en textur. Det är specificerat att mata ut pixlar med en hastighet av 100 miljoner per sekund och 25-pixel trianglar med 1,5 miljoner per sekund. Det finns 12 KiB on-chip-minne som används för pixel- och vertexcacher. Chipet var begränsat till ett 16-bitars ( Highcolor ) pixelformat vid 3D-acceleration och en 16-bitars Z-buffert .
2D-acceleratormotorn i RIVA 128 är 128 bitar bred och fungerar även på 100 MHz. I denna "snabba och breda" konfiguration, som Nvidia hänvisade till det, presterade RIVA 128 utmärkt för GUI-acceleration jämfört med konkurrenterna. En 32-bitars hårdvara VESA -kompatibel SVGA / VGA kärna implementerades också. Videoacceleration ombord på chipet är optimerad för MPEG-2 men saknar full acceleration av den standarden. Den slutliga bildutgången dirigeras genom en integrerad 206 MHz RAMDAC . RIVA 128 hade fördelen av att vara ett kombinerat 2D/3D-grafikchip, till skillnad från Voodoo Graphics. Detta innebar att datorn inte krävde ett separat 2D-kort för utmatning utanför 3D-applikationer. Det tillät också 3D-rendering i ett fönster. Möjligheten att bygga ett system med bara ett grafikkort, och fortfarande ha det funktionskomplett för tiden, gjorde RIVA 128 till en billigare och högpresterande lösning.
Nvidia utrustade RIVA 128 med 4 MiB SGRAM , en ny minnesteknik för tiden, klockad till 100 MHz och kopplad till grafikprocessorn via en 128- bitars minnesbuss . Detta ger en minnesbandbredd på 1,60 gigabyte per sekund. Minnet användes i en enhetlig minnesarkitektur som delade hela RAM-poolen med både framebuffer och texturlagring. Den största fördelen med detta, jämfört med en delad design som den på Voodoo Graphics och Voodoo² , var stöd för 3D-upplösningar på 800×600 och 960×720, högre än Voodoos 640×480.
RIVA 128 var en av de tidiga AGP 2X-delarna, vilket gav den lite mer marknadsföringsutrymme genom att vara i framkanten av gränssnittsteknik. Grafikprocessorn byggdes kring Intels AGP-specifikation riktad mot Intel 440LX- chipset för Pentium II . Nvidia designade RIVA 128 med en maximal minneskapacitet på 4 MiB eftersom detta vid den tiden var det kostnadsoptimala tillvägagångssättet för en konsument 3D-accelerator. Detta var fallet delvis på grund av chipets förmåga att lagra texturer i system-RAM utanför skärmen i både PCI- eller AGP-konfigurationer.
I början av 1998 släppte Nvidia en uppdaterad version som heter RIVA 128 ZX . Denna uppfräschade design av NV3 ökade minnesstödet till 8 MiB och ökade RAMDAC-frekvensen till 250 MHz. Dessa tillägg gjorde det möjligt för RIVA 128 ZX att stödja högre upplösningar och uppdateringsfrekvenser . ZX-versionen använder ett 8 MB SGRAM- minneschip, klockat till 125 MHz, från Samsung Electronics .
Nästa stora chip från Nvidia skulle vara RIVA TNT .
Bildkvalitet
När RIVA 128 släpptes hade 3Dfx Voodoo Graphics etablerat sig som 3D-hårdvaruriktmärket mot vilket alla nykomlingar jämfördes. Voodoo var den första 3D-spelacceleratorn som erbjöd exceptionell prestanda och kvalitet. RIVA 128 föraktades för sin lägre kvalitet på renderingen (jämfört med Voodoo) och renderingsfel.
Med initiala drivrutiner använde RIVA 128 per-polygon mipmapping istället för den mycket högre kvaliteten, men mer krävande, per-pixel-varianten. Detta fick de olika strukturdetaljnivåerna att "pop" på plats när spelaren rörde sig genom ett spel och närmade sig varje polygon, istället för att tillåta en sömlös, gradvis övergång per pixel. Nvidia släppte så småningom drivrutiner som möjliggjorde ett per-pixel-läge. Ett annat problem med kortets struktur var dess användning av automatiserad mipmap-generering. Även om detta förbättrar visuell kvalitet och prestanda i spel utan mipmaps, orsakade det också oförutsedda problem eftersom det tvingade spel att rendera på ett sätt som de inte var programmerade för.
NV3:s bilinjära filtrering var faktiskt "skarpare" än den för 3Dfx Voodoo Graphics. Men även om den inte suddade ut texturer lika mycket som Voodoo, lade den istället till lite lätt brus till texturer, på grund av en filtreringsalgoritm med lägre kvalitet. Det var också problem med märkbara sömmar mellan polygoner.
Medan de första drivrutinerna gav dessa bildkvalitetsproblem, erbjöd senare drivrutiner bildkvalitet som utan tvekan matchade den hos Voodoo Graphics. Dessutom, eftersom RIVA 128 kan rendera vid upplösningar högre än 640×480, kan kortet erbjuda kvalitet överlägsen den för Voodoo Graphics, som visas i Quake II- skärmbilden ovan. De sista drivrutinerna för RIVA 128 stöder mipmapping per pixel, kantutjämning i full scen ( supersampling ) och ett antal alternativ för att finjustera funktioner för att optimera kvalitet och prestanda.
Drivrutiner och API:er
Förare var, under en betydande del av kortets liv, ganska grova. Inte bara var de tidigare nämnda Direct3D-problemen uppenbara, utan kortet saknade bra OpenGL-stöd. Med RIVA 128 började Nvidia sin strävan efter OpenGL-stöd av högsta kvalitet, vilket så småningom resulterade i att styrelsen blev en kapabel OpenGL-artist. En stor nackdel för Nvidia var att många spel under RIVA 128:s livstid använde 3Dfx:s egenutvecklade Glide API . Lagligt kunde endast 3Dfx-kort använda 3Dfx:s Glide API.
Liksom den konkurrerande ATI Rage Pro kunde RIVA 128 aldrig accelerera den populära Unreal Engine i Direct3D-läge på grund av saknade hårdvarufunktioner. Det var dock möjligt att använda motorns OpenGL-renderare, men tyvärr var OpenGL-stödet ganska långsamt och buggigt i den ursprungliga Unreal Engine. Prestanda i Quake III Arena , ett spel som använder en motor mer avancerad än Unreal Engine 1, var bättre på grund av att motorn hade designats för OpenGL. [ citat behövs ]
Nvidias sista RIVA 128-drivrutiner för Windows 9x inkluderar en fullständig OpenGL-drivrutin. Men för att drivrutinen ska fungera måste Windows ställas in med ett skrivbordsfärgdjup på 16-bitars.
En drivrutin för RIVA 128 ingår också i Windows 2000 och XP, men saknar 3D-stöd. En betadrivrutin med OpenGL-stöd läckte en gång av Nvidia men avbröts senare, och det finns ingen Windows 2000-drivrutin för RIVA 128 på Nvidias drivrutinssida idag. Varken beta-drivrutinen eller de som kommer med Windows 2000/XP kunde stödja Direct3D.
Prestanda
Vid den tiden var RIVA 128 ett av de första kombinations-2D/3D-korten som kunde konkurrera med Voodoo Graphics. RIVA 128:s 2D-kapacitet sågs som imponerande för sin tid och var konkurrenskraftig med till och med avancerade 2D-grafikkort i både kvalitet och prestanda.
Konkurrerande styrkretsar
- Matrox Mystique 220
- 3DFX Voodoo Graphics , Voodoo² (bara 3D-kort)
- ATI Rage-serien (Pro var den senaste vid den tiden)
- S3 ViRGE , Savage 3D
- Rendition Vérité V1000 & V2x00
- PowerVR PCX2