Graphics Hardware History

* THIS IS A WORK IN PROGRESS! *

by Peter Bjørn Perlsø
created 1st of September 1999 (first draft April 1999)
updated 30th of September 2006, and 30th of August 2009

Additions and corrections are welcome. I will update this article as time allows for it.

The purpose of this article is to give an authoritative representation of the progress in the field of computerized graphics acceleration, primarily 3D.

Related and useful articles:

+ How much bandwidth does the various buses provide?

Definitions:

Fill rate: The (pixel) fill rate is quite simply, how many pixels on the computer display, your graphics hardware can alter (fill with new data) per second. But how much is a mega pixel really in practical terms? Take a look at the graphic below:



If you're looking for a rough estimate of how fast a given gfx card is, look at the texel fill rate and the triangle setup capabilities.



resolution pixels proportion  
320 x 200 64 K 16:10  
320 x 240 76.8 K 4:3  
512 x 384 196.6 K 4:3  
640 x 400 256 K 16:10 4* 320 x 200
640 x 480 (VGA) 307.2 K 4:3 4* 320 x 240
640 x 512 327.68 K 5:4  
800 x 600 (SVGA) 480 K 4:3  
832 x 624 519.2 K 4:3  
1024 x 768 (XGA) 786.4 K 4:3 4* 512 x 384
1152 x 768 884.8 K 3:2  
1280 x 1024 1.31 M 5:4 4* 640 x 512
1440 x 900 1.26 M 16:10  
1600 x 1200 1.92 M 4:3 4* 800 x 600
1680 x 1050 1.76 M 16:10  
1920 x 1200 2.3 M 16:10  
2560 x 1600 4.1 M 16:10  
       
       
       

As you can see from the above table, the pixel counts climb into the millions pretty quickly as you increase your display resolution. To determine how high a fill rate you need, you can use this formula:

horizontal resolution * vertical resolution * desired frame rate = target fill rate

So, for example, to play your favorite 3D game in 1600*1200 pixels with 60 frames per second (fps), you'd need a graphics chip that can pump out 1600*1200*60 = 115,2 million pixels per second. By modern graphics hardware, this is easily achieved.

Stencil Buffer: Pixel-based buffer used by graphics accelerators to store effect information for individual pixels. A stencil buffer 8 bit wide would allow for 256 (2^8) effect layers "on top" of each pixel. Usually employed in conjunction with a z buffer for effects such as fogging, shadowing etc.

Z Buffer: Pixel-based depth buffer used to determine the visibility of pixels in a rendered scene. The buffer provides a way for the renderer to determine whether a rendered pixel should be sent to the frame buffer, by comparing z (depth) values for each pixel in the rendered polygons. The smaller the z value for a pixel, the closer it is to the observer. If a rendered pixel has a lower z value than an already rendered pixel, its color information overwrites that if the "old" pixel.

Key to charts:

MP = Mega Pixels, MT = Mega Texels, GP = Giga Pixels , GT = Giga Texels

3Dfx hardware

Card,chip fill rate pixel pipes, texel units per pipe, vertex pipes triangles core clock core transistor count memory size and type mem clock RAMDAC clock interface   comments  
                         
Voodoo Graphics 45 MP ?,1,- 1 M   .50µ 4-6?M EDO   135? PCI   180$? 1997, 640x480 3D only  
Voodoo Rush     1 M   .50µ 4-6-8M EDO, 128b     PCI   both 2D and 3D gfx, many driver problems  
Voodoo 2 (1000) 90 MP ?,2,? 3 M 90   8-12M EDO     PCI   1H 1998 , up to 800x600, 3D only, SPMT, SPTF, FTS, SLI (1024x768), rendering 32bpp internally, 16 bpp externally (output to frame buffer), textures up to 256^2 pixels, multitexturing  
Voodoo Banshee 100-125 MP   4 M 100, 125 .35µ, .25µ 16M 100 250 PCI, 1x AGP   both 2D and 3D, only one texture unit  
Voodoo 3 2000 143 MP ?,2,? 6 M 143 8.2M 16M SDRAM (8x faster block writes and Z-clears)   300 PCI, 2x AGP   128-bit accelerator, up to 1920x1440 (3D), 2048x1536 (2D), RAM bandwidth 2.29 GBps, but still no 32bpp rendering or 32b texture support. Readded the second texturing unit that was originally removed from the Banshee, 16b Z-buffer  
Voodoo 3 3000 167 MP ?,2,? 7 M 166   16M SD   350 "   RAM bandwidth 2.66 GBps  
Voodoo 3 3500 TV 366 MT ? 8 M 183   16M SD   350 2x AGP   RAM bandwidth 2.92 GBps  
Voodoo 4 4500 333-366 MP 1*2,1,?   166 14 M @ .25 µ 32M SD     PCI, 4x AGP   late 1999, V4's and V5's based on VSA-100 chips (Voodoo Scalable Architecture), 2048^2 pixel texture support, and FINALLY 32 bpp output & textures (RGBA), 24b Z&W buffers, 180$  
Voodoo 5 5000 667-733 MP 2*2,1,?   166   32M SD     "   2 VSA chips (SLI!) - 2 pix/clock, 1 tex/pix - all V5 cards require their own PSU! 230$  
Voodoo 5 5500 " 2*2,1,?   166   64M SD 166 ? 4x AGP   300$  
Voodoo 5 6000 1.33 - 1.47 GP 4*2,1,?   166   128M SD     "   4 VSA chips - broke 1 gigapixel barrier, 600$  
Voodoo 6                     rumored, but never materialized  
                         

 

SPMT = Single Pass MultiTexturing, SPTF = Single Pass Trilinear Filtering, FTS = Full Triangle Setup (offloads CPU)
SLI = Scan Line Interleaving, allows you to combine two gfx cards into one logical card.

VSA-100: 8-bit stencil rendering, and advanced texture and color combine capabilities, DVD hardware assist. DXTC. T-buffer - not on V4 cards, only V5 (full screen antialiasing (FSAA), motion blur, programmable depth-of-field, oft shadows and reflections etc.)

nVidia hardware

Card,chip fill rate pixel pipes, texel units per pipe, vertex pipes triangles core clock core transistor count memory size and type mem clock RAMDAC clock interface   comments  
RIVA 128 (NV3), 128ZX (NV3.5) 100+ MP 1,1 5 M 100   4 M SGRAM (ZX: 8 M) 100   PCI   summer 1997, 16b Z-buffer  
RIVA TNT (NV4) 180+ MP 2,1 6 M 90+ 7 M @ .35µ 4-8-16 M SDR, 128b 110+ 250 PCI, 2x AGP   150$ (8M) 200$ (16M) summer 1998, TNT = TwiN Texel, 128b engine, 32bpp color, 24b Z buffer, 8b stencil buffer  
TNT 2 (NV5) 250+ MP 2,1 9 M 125+ 10 M @ .25µ 32 M SDR 150+ 300 2x AGP   Spring 1999 , up to 1600x1200  
TNT 2 Ultra 300+ MP 2,1 9 M 150+   SDR 183+   2x AGP      
TNT 2 Pro (NV6)       143     166          
Geforce 256 (NV10) 480 MP 4,1   120 23 M @ .25µ SDR/DDR 166   4x AGP   Summer 1999, T&L  
Geforce 2                        
Geforce 2 GTS (NV15) 800+ MP 4,2,? 25 M 200+ .18µ 32 M DDR 167+       350$, Summer 2000, GTS = Geometry, Transformation, Shading - bump mapping, cube environment mapping etc, Dual Texel Pipeline, replaced Geforce 256  
Geforce 2 Ti (NV15A)       250     200          
Geforce 2 MX (NV11) 350 MP 2,2,? 20 M 175 .18µ 32M DDR SGRAM 166 350 PCI, 4x AGP   150$, 2 dual-texturing pipelines (700 MT) , replaced TNT 2  
Geforce 2 MX 100                        
Geforce 2 MX 200 350 MP 2,2,?       64 M DDR            
Geforce 2 MX 400 400 MP 2,2,?   200     183 350        
Geforce 3 Ti200 (NV20)       175 57 M up to 128 M DDR 200 350 4x AGP      
Geforce 3 Ti           " 230 350 4x AGP      
Geforce 3 Ti500       240   " 250 350 4x AGP      
Geforce 4 Ti 4200 (NV 25?)     113 M 250 63 M @ .15µ up to 128 M DDR 222   4x AGP   200$ Spring 2002  
Geforce 4 Ti 4400     125 M 275   " 275   4x AGP   300$ Spring 2002  
Geforce 4 Ti 4600     136 M 300   " 325   4x AGP   400$ Spring 2002  
Geforce 4 Ti 4800           "     8x AGP      
Geforce 4 MX 420 (NV17) 1 GT 2,2,.5 31 M 250 .15µ up to 64 M SDR 128b 166 2x 350 4x AGP      
Geforce 4 MX 440 (NV 18?) 540 MP 2,2,.5 34 M 275   up to 64 M DDR 128b 200 2x 350 4,8x AGP      
Geforce 4 MX 460 1.2 GT 2,2,.5 38 M 300   " 275   4x AGP      
Geforce 5200 FX (NV 34) 1 GT 2,2,?   250 45 M @ .15µ DDR 200          
Geforce FX 5200 Ultra (NV 34 Ultra)   2,2,1   325   DDR 325 2x 350 (400?) 8x AGP   used in Apple iMacs , replaces MX 440  
Geforce FX 5500 1.1 GT         128b   2x 350        
Geforce FX 5600 (NV 31)   2,2,?   300 .13µ DDR 250 2x 400        
Geforce FX 5600 Ultra (NV 31 Ultra) 1.6 GP ? 2,2,?   350 75 M @ .13µ DDR 350 2x 400     replaces Ti4200  
Geforce FX 5700 (NV 36)           DDR-II 475       replaces FX 5600  
Geforce FX 5800 (NV 30) 1.6 GP ? 4,2,? 200 M ? 400 125 M @ .13µ 128-256 M DDR-II 400? 450? 2x 400 8x AGP   summer?/fall 2002, 512b core  
Geforce 5800 Ultra (NV30 Ultra) 2 GP ? 4,2,?   500 125 M @ .13µ DDR-II 500 2x 400     replaces Ti4800  
Geforce 5900 Ultra (NV 35?) 1.8 GP ? 4,2,?   450 ? 500 ? .13µ 128 - 256 M DDR -II 256b ? 425 ? 500 ? 600 ? 2x 400 8X AGP   spring 2003 ?  
Geforce FX 5950 (NV 38)       475   DDR-II 475       replaces FX 5900  
Geforce 6200                        
Geforce 6600 GT + Ultra                        
6800 GT + Ultra DDL (NV 40) 5.6 GP + 6.4 GP 16,1,6   350 + 400     500 + 550       dual DVI  
Geforce 6800 Ultra Extreme (NV 45)   16,1,6   450     300 2x 400     the marketing department should be sacked on the spot for coming up with such a name  
Geforce 7800 GTX (G70)   24,1,8   430   256, 512 MB 600       24 pixel shaders  
Geforce 7800 GT (G71)   20,1,8   400     500          

nVidia Mobile chips

Card,chip fill rate pixel pipes, texel units per pipe, vertex pipes triangles core clock core transistor count memory size and type mem clock RAMDAC clock interface   comments  
                         
                         
                         
                         
                         
Geforce4 410 Go                        
Geforce4 420 Go 800 MT ?   200                
Geforce4 440 Go 880 MT ?   220                
                         

 

ATI hardware

Card,chip fill rate pixel pipes, texel units per pipe, vertex pipes triangles core clock core transistor count memory size and type mem clock RAMDAC clock interface   comments3D  
RAGE 20 MT ?     40 ?   2 M EDO   135 PCI   first ATI 3D offering  
RAGE II/II+ 25 MT ?     50 ?   2,4,6,8 M EDO & SDRAM   135 PCI   MIP map, Gouraud shading, alpha blending and fog effects  
RAGE IIc 25 MT ?     50 ?   4,8 (AGP only) M SD/SGRAM   200 PCI, 2xAGP   64b core , AGP support  
RAGE Pro 75 MP 1?,1,- 1.2 M 75 .25µ 2-4-6-8-16 M SGRAM 100 230 PCI, 2x AGP   Spring 1997, sported hardware multitexturing with one pipeline  
RAGE 128 200 MP 2?,1,- 4 M 75,90,100   32 M     2x AGP   Autumn 1998, numerous driver problems  
RAGE 128 Pro 250-286 MP, 2,1,- 8 M 125,143   16,32 M, 128b 143 300 4x AGP   Feb. 99 ?  
RADEON (7000) 1.6 GT         64 M SDR, 32 M DDR 256b 166? 300 4x AGP   many driver problems  
Radeon 7500 (RV200) 580MP 2,3,?   270, 290 .15µ 64 M DDR, 128b 230 2 x 350 MHz PCI, 2,4x AGP   sept 2001 , 199$,  
Radeon 8500 (R200) 1.1GP 4,2,2 65 M 250 60 M @ .15µ 64, 128 M DDR, 128b 275   4x AGP   sept 2001, 399$  
Radeon 9000 (RV250) 1GP 4,1,1 75 M 250   32,64,128 M dual channel DDR, 128b 200 2 x 400 MHz        
Radeon 9000 Pro 1.1GP 4,1,1 75 M 270 40 M 64,128 M dual channel DDR, 128b 275       129$, summer 2002  
Radeon 9500 (R?) 1.1GP 4,1,4 275 M 275 .15µ 64, 128 M DDR, 128b 270          
Radeon 9500 Pro 2.2GP 8,1,4 275 M 275 .15µ 128 M DDR, 128b 270          
9550       250         8x AGP      
Radeon 9700 (R300) 2.5GP 8,1,4 325 M 300 110 M up to 256 M DDR, 256b     8x AGP      
Radeon 9700 Pro   8,1,4   325   DDR, 256b     8x AGP      
Radeon 9200   4,1,?   250 .15µ 64, 128 M DDR, 128b 200 2 x 400 MHz 8x AGP   80$, Spring 2003  
Radeon 9200 Pro   4,1,?   275 .15µ 128 M DDR, 128b 275 2 x 400 MHz 8x AGP   130$, Spring 2003  
9200 SE                 8x AGP      
9250       240   128 M DDR, 128b 200   8x AGP      
Radeon 9600 1.3GP 4,1,2 175 M 325 (350?) .13µ 64, 128 M DDR 128b 200 (275?)   8x AGP   150$, Spring 2003  
Radeon 9600 Pro (RV350) 1.6GP 4,1,2 175 M 400 .13µ 128 M DDR, 128b 300   8x AGP   200$, Spring 2003  
Radeon 9600 XT (RV360) 2GP 4,1,2   500   128 M DDR, 128b 300 400 8x AGP   Autumn 2003, tweaked R9600 core  
Radeon 9800 (R350)   8,1,4   325   128 M DDR, 256b 325   8x AGP   Spring 2003  
Radeon 9800 Pro (R350) 3 GP 8,1,4   380 115 M @ .15µ 128,256M DDR, 256b 350   8x AGP   400$, Spring 2003  
Radeon 9800 XT 3.3 GP 8,1,4   412     365   8x AGP      
                         
Radeon X300       400     200   PCIe x16   late 2004  
X300 SE       325                
Radeon X600                 PCIe x16      
Radeon X800 XT 7.6 GP 16,1,6   475     500   PCIe x16   late 2004, 500$  
Radeon X850 XT                 PCIe x16      
                         
                         
                         
X1600                        
X1800 (R520) XT           512 MB RAM         November 2005, takes over where X850 let go. 16 pixel shaders  
X1900 (R580)                     followup to R520 , January 2006. 48 pixel shaders , 60 million more transistors than X1800, up to 175 Watt power dissipation.  
                         

ATI Mobility hardware

Card,chip fill rate pixel pipes, texel units per pipe, vertex pipes triangles core clock core transistor count memory size and type mem clock RAMDAC clock interface   comments  
                         
RAGE Mobility 128 210 MP   8 M           2x AGP   32b Z-buffer  
Mobility Radeon     15 M 166   8-64 M, 32-64B 166   4x AGP      
Mobility 7500     40 M 275   16-64 M, 64-128b 175          
Mobility 9000 1GP 4,1,?   250   32 M 64b, 64 M 128b DDR 230          
Mobility 9200       250   DDR, 128b 225          
Mobility 9600 (M10) 1.2GP 4,1,2   350   DDR, 128b 250   8x AGP   Spring 2003  
Mobility 9700 (M11) 1.8GP 4,1,2   450   DDR, 128b 260   8x AGP      
Mobility 9800 (M18) 2.8GP 8,1,4   350     300   8x AGP      
Mobility X300 (M22) 1.4 GT 4,?,2         300   PCIe x16      
Mobility X800 (M28) 4.8 GT 12,?,6         400   PCIe x16      
                         
                         

Matrox hardware

Card,chip fill rate pixel pipes, texel units per pipe, vertex pipes triangles core clock core transistor count memory size and type mem clock RAMDAC clock interface   comments  
                         
Millennium                        
Millennium II                        
Millenium G200 100 MP   1.55 M     8-16 M SGRAM   250 2x AGP   32 bbp rendering, 32b Z-buffer, Alpha-Blending,
Bi-linear Filtering,
Tri-linear MIP-Mapping,
Fogging,
Anti-Aliasing,
Specular Highlighting
 
G400       120       300        
G400 MAX 333 MT 2,?   150-166 .25µ 32M SGRAM 200 360 4x AGP      
G450                        
G500                        
G550                        
G800                        
G1000                        
                         
                         
                         

other hardware

Card,chip fill rate pixel pipes, texel units per pipe, vertex pipes triangles core clock core transistor count memory size and type mem clock RAMDAC clock interface   comments  
S3                        
Virge GX                        
Savage 4                        
Savage 4 Pro         BEING WORKED ON          
                         
Permedia                        
                         
                         
PowerVR                        
                         
                         
                         
                         
                         

NOTES:

A texture unit is the same (performance wise) as a texel pipeline. You calculate the texel fill rate by multiplying the pixel fill rate by the number of texel/texturing units (TMU's).

Memory bandwidth is calculated by multiplying the memory bus width with the memory clock speed. Keep in mind that this will give you the peak speed (theoretical maximum). Fill rate is calculated by multiplying core clock by the number of pixel and texel pipelines in the chip.

- Rage Pro Turbo is really just a Rage Pro with a nice name. Turbo name was due to a software update that needed extra publicity from ATI, i think.
- RAGE 128 supports textures up to 2048^2 pixels.
- Rage 128 Ultra was a version of the 128 Pro with extra RAM (16 M in all) at a cheap price. Summer 2000?
- Radeon 8500 featured TRUFORM, SMARTSHADER. RADEON 8500LE was later renamed 9100.

Misc.

gfx segments, 2002:
100 $ - mainstream, 200 $ - high end, 300 $ - ultra high end

will be added at a later time :

definitions and explanations of:

texel fill rate, GPU definition, frame buffers, texture memory, bump mapping, bi- & trilinear filtering, FSAA, W-buffers, (vertex) shaders, DVD assist, multitexturing, antialiasing (AA), anisotropic filtering (AF), etc.

Thanks goes to:

Eyal Teler,

This article cc 2003-2009 Peter Bjørn Perlsø, titancity.com