From bee.uspnet.usp.br!news.dcc.unicamp.br!lakesis.fapesp.br!fnnews.fnal.gov!uwm.edu!cs.utexas.edu!howland.reston.ans.net!Germany.EU.net!EU.net!sun4nl!hacktic!boogyman Sat Dec 31 02:57:31 1994 Path: bee.uspnet.usp.br!news.dcc.unicamp.br!lakesis.fapesp.br!fnnews.fnal.gov!uwm.edu!cs.utexas.edu!howland.reston.ans.net!Germany.EU.net!EU.net!sun4nl!hacktic!boogyman From: boogyman@xs4all.nl (Boogyman) Newsgroups: comp.sys.ibm.pc.hardware.video Subject: Video Card FAQ (v3) Date: 23 Dec 1994 23:50:17 GMT Organization: XS4ALL, networking for the masses Lines: 838 Message-ID: <3dfnnp$br@news.xs4all.nl> NNTP-Posting-Host: xs1.xs4all.nl Summary: Facts about current video cards X-Newsreader: NN version 6.5.0 #666 (NOV) X-Posted-By: boogyman@xs1.xs4all.nl 94-12-23 This is a mini-faq on PC video cards, with an emphasis on chipsets and performance. It is intended to be clear, informative and truthful. However, it is also critical and many comments are the opinion of a FAQ contributor. Additions/corrections are welcome. Some missing information is flagged with a question mark. Send to boogyman@xs4all.nl. Sections: Current Graphics Chipsets Card Model Names DRAM vs. VRAM DOS Performance (with detailed results) GUI Benchmarks Monitor Timing You are especially encouraged to send in benchmark results. I really mean that. Grab VIDSPEED (on any simtel mirror, e.g. oak.oakland.edu: /pub/msdos/screen/vidspd40.zip) and send in some data. Remember that 64-bit video cards with one megabyte DRAM are very inhonestly marketed. They perform and function like 32-bit cards, and are easily three times slower in raw accelerated graphics than the 2Mb versions, which *do* use a 64-bit interface to video memory. Current Graphics Chipsets ------------------------- Alliance Little known new chipset maker. Has 64-bit DRAM chipset with video support (Promotion 3210), used on Spider Graphics Pro-Vision 64. ------------------------------------------------------------------------- ATI High-end accelerators, based on 8514 design. ATI-Mach8 Old, 8514-compatible ATI-Mach32 32-bit chip, supports 64-bit interface to video memory with 2Mb. Supports both DRAM and VRAM. ATI-Mach64 64-bit chip. Verdict Performance: Fairly good previous generation performance (Mach32). Mach64 very fast (with VRAM similar to S3-964, similar to S3-864 with DRAM). DOS perf: Mach32 mediocre, depends on card design. Mach64 good. Max. resolutions depend on RAMDAC and memory type. Max. res 8bpp: 1280x1024 @ 72 Hz (VRAM) Max. res 16bpp: 1024x768 @ 70 Hz (VRAM) Max. res 24bpp: 800x600 @ 72 Hz (VRAM) BIOS: Unknown. Picture: Unknown. Pricing ATI-Mach64 2Mb VRAM $300? ATI Xpression (Mach64 2Mb DRAM) $200? ------------------------------------------------------------------------- Avance Logic, Inc. Low end chipsets, fairly common for PCI. 32-bit DRAM? ALG-2101 ALG-2228 VLB ALG-2301 PCI ALG-2308 ALG-2401 ------------------------------------------------------------------------- Cirrus Logic, Inc. Low-to-mid-end DRAM-based cards (accelerated), some laptop chipsets. Integrates video card components into one chip (built-in RAMDAC and clock generators). The 5426/8 has been the most common low-end VLB card chipset for a good while. CL-GD542x series 32-bit DRAM interface, 16-bit host bus interface. Acceleration: Fill, scroll, hardware cursor. Max dot clock at 256 colors is 80 MHz. First generation VLB cards. CL-GD5420 Old, no truecolor DAC. CL-GD5422 Has truecolor DAC. CL-GD5424 VLB support. The following chips have a 'BitBLT engine', which implies better acceleration (opaque move, invert, text). CL-GD5426 BitBLT chip. ISA, VLB. Max 2Mb. CL-GD5428 Slightly enhanced version of the 5426. CL-GD5429 Faster version, MMIO (4th Q 1994). Verdict Performance: Fair, drops off at high resolutions/refresh, 16bpp OK. Gains with CPU. DOS perf: Fairly good for first generation local bus chipset. Good write buffering. Max. res 8bpp: 1024x768 @ 72 Hz (1280x1024 interlaced, 5426+) Max. res 16bpp: 800x600 @ 60 Hz (1024x768 interlaced, 5426+) Max. res 24bpp: 640x480 @ 60 Hz Max dot clock: 5426/8: 85 MHz 8bpp, 45+ MHz 16bpp, 26+ MHz 24bpp 5429: 85 MHz 8bpp, 50 MHz 16bpp, 28 MHz 24bpp BIOS: VESA BIOS support built-in, problematic. Picture: Depends on card implementation. Good designs crisp, bad ones fuzzy. Pricing Generic 5424/5428 cards can be as low as $60/$80. Brand-name (e.g. Diamond SpeedStar Pro) $100. Notes Upgrade to 2Mb buys very little (interlaced modes only). CL-GD543x/4x series ('Alpine') 64-bit internal acceleration. 64-bit DRAM interface on 5434 but only with 2Mb memory. Excellent 32-bit host interface (5434 PCI interface very good). More or less compatible with 5426/8. CL-GD5430 'Budget' version. Limited to 32-bit DRAM interface, even with 2Mb. A bit faster than the 542x. CL-GD5434 Has 64-bit interface to DRAM with 2Mb memory. Good speed. Good truecolor acceleration. CL-GD5434-E Supports higher memory clock (60 MHz). CL-GD5440 [announced] Video support. Verdict Performance: With 32-bit interface to video memory: fair, faster than 5426, comparable to S3 805. With 64-bit interface to video memory: very good. Looses a bit on blits in benchmarks, otherwise good all-round (5434). DOS perf: Excellent. PCI very good (burst mode). Max. res for 5430 and 5434/1Mb is same as 542x. Max. res 8bpp: 1280x1024 @ 60 Hz Max. res 16bpp: 1024x768 @ 75 Hz Max. res 24bpp: 800x600 @ 60 Hz (32-bit pixels). 800x600 @ 72 Hz possible with fast enough DRAM timing. Max dot clock: 5430: 85 MHz 8bpp, 50 MHz 16bpp 5434: 108 MHz 8bpp, 85 MHz 16bpp, 45+ MHz 32bpp 5434E: 50 MHz 32bpp BIOS: VESA BIOS support built-in. Reasonable. Picture: OK. Pricing Generic cards unknown, should be below S3-864. Brand-name: Orchid Kelvin 64 2Mb $180. Notes CL-GD5434 often equipped with only 1Mb, which severely cripples performance. ------------------------------------------------------------------------- IIT (AGX) VRAM-based accelerators, some cheap. Has some similarities with IBM XGA. Apparently discontinued. ------------------------------------------------------------------------- Oak Technologies Inc. Low-end SVGA chipsets. OTI-067 Old SVGA chipset, 512K max. OTI-077 SVGA chipset, 1Mb max. Slow. OTI-087 Accelerated, 2Mb max. Not very fast. Pricing OTI-087 VLB $60. ------------------------------------------------------------------------- S3, Inc. Well-established for high-end PC graphics chipsets. Has moved into low-to-mid-end market. Generally efficient accelerators. Wide variation in card designs (RAMDAC, clock generators etc.). Acceleration interface based on IBM 8514. 8xx chips are DRAM-based, 9xx VRAM-based. First Generation S3-911 Original S3 chip, VRAM-based. Very poor DOS performance. S3-924 Bug fix of S3-911, can support 24bpp. Second Generation S3-801 ISA, 32-bit DRAM interface. Good acceleration (drops off a bit at high resolutions), better than Cirrus 5426/8. S3-805/805p Local bus version, mostly 16-bit host interface. Currently (2nd half 1994) low-end VLB. S3-805i Supports interleaved memory with 2Mb DRAM. S3-928 Previous generation high-end chipset; 32-bit interface to VRAM for drawing. Trio32 Integrated chip with 32-bit DRAM interface. Part of S3's ambition to take over the low-end market? Based on 864 core? 64-bit Vision series S3-864 64-bit DRAM interface with 2Mb memory. 64-bit acceleration. Variation in RAMDACs. Very good performance with 2Mb. Weird host interface. S3-964 64-bit VRAM interface. Very fast, high resolution/ color depth. Trio64 Integrated version of S3-864 (built-in RAMDAC). S3-868 [announced] Enhanced 864 with video support. S3-968 [announced] Enhanced 964 with video support. Verdict Performance: S3-801/805: Good for a 32-bit card. S3-928: Very good. S3-864: Very good with 2Mb memory, limited with 1Mb. S3-964: Superb. DOS perf: 801/805: Fair, local bus OK, depends on card design. 928: depends on card. 864: Reasonably fast (very fast in 320x200, slow in SVGA modes). 964: Fair all-round, but not maximal. Max. resolutions depend on RAMDAC and memory timing. Max. res 8bpp: 1280x1024 @ 60-72 Hz Max. res 16bpp: 1024x768 @ 60-90 Hz Max. res 24bpp: 800x600 @ 60-70 Hz Max dot clock: 864: 135+ MHz 8bpp, 95 MHz 16bpp, 47.5 MHz 32bpp BIOS: Unknown. Picture: Unknown. Depends on design and DAC. Pricing Generic 801/805 $80. Generic S3-864 1Mb $100, 2Mb $145. Brand-name S3-864 2Mb: $200? S3-964 2Mb: $250. Notes S3-864 takes a big performance hit with only 1Mb (very misleading marketing). Variation in memory timing (speed) between different S3-864 cards. ------------------------------------------------------------------------- Trident Microsystems Long-established low-end chipsets. Very poor performance, but very cheap. TVGA8900C Old ISA, SVGA. Extremely poor performance. TVGA9000 512K only, very poor. TVGA8900CL Supports local bus, but very slow. TVGA9400CXi Supports 2Mb, truecolor. May have acceleration. TVGA9420 ? TVGA9440 Must be slighty improved. Verdict Performance: Miserable. Recent VLB accelerators better but still below par. DOS perf: Extremely poor (8900C). Local bus better. Max. resolutions unknown. BIOS: Unknown. Picture: Unknown. Probably bad. Pricing Generic ISA/VLB/PCI 1Mb, $60/$70/$90. ------------------------------------------------------------------------- Tseng Labs, Inc. ET4000 well-established non-accelerated chipset. W32 series accelerated. ET4000/W32i and W32p support smart 32-bit interleaved memory interface with 2Mb DRAM installed, yielding 85% of the video memory bandwidth of a 64-bit interface. ET4000AX Old ISA chipset, VLB OK (16-bit host interface, good response). W32 series ET4000/W32 Accelerated, 32-bit host interface. 32-bit memory interface. Fair performance, comparable to Cirrus 5426. ET4000/W32i Improved acceleration, supports interleaved memory with 2Mb. Very fast blits. ET4000/W32p Improved acceleration, better host bus interface support (incl. PCI). Special video support. Verdict Performance: W32: Mediocre, comparable to Cirrus 5426. W32i/p with 1Mb: Fair. W32i/p with 2Mb: Good, very fast blits. DOS perf: Very good, but depends on card design. Max. resolutions depend on RAMDAC. Max. res 8bpp: 1280x1024 @ 72 Hz Max. res 16bpp: 1024x768 @ 72 Hz (W32p) Max. res 24bpp: 800x600 @ 72 Hz (24-bit pixels). Unknown (32-bit pixels). BIOS: VESA BIOS support built-in, not all. Unknown. Picture: Unknown. Pricing Generic ET4000/W32p $100, with 2Mb $150. Brand-name: Diamond Stealth 32 2Mb $170. Notes ET4000/W32i and W32p take big advantage of second Mb of memory. Reputation for good DOS performance, but varies a bit between card designs. ------------------------------------------------------------------------- Weitek High-end VRAM accelerators. P9000 Old, 32-bit VRAM-interface for drawing? P9100 Current version. ------------------------------------------------------------------------- Western Digital (Paradise) Long-established SVGA chipsets. 32-bit DRAM, some accelerated. WD90C30 SVGA chipset, 32-bit DRAM interface (1Mb). WD90C31 Has acceleration (comparable to Cirrus 5426). WD90C33 Newer version, max 2Mb. ------------------------------------------------------------------------- Card Model Names ---------------- This list is intended to include model names of more generic-type cards. Cards that are more or less obsolete are marked 'Obs'. Name Chip Bus Obs Actix GraphicsEngine 32 S3-801/805 ISA Actix GraphicsEngine 32i S3-805i? VLB Actix GraphicsEngine 64 S3-864 Actix GraphicsEngine Ultra S3-964? Obs Actix ProStar VL CL-GD5426/8 VLB Actix ProStar64 CL-GD5434 PCI ALG5434(E) (Pro) CL-GD5434(E) PCI Obs ATI 8514 Ultra (no VGA) ATI-Mach8 ISA Obs ATI Graphics Ultra ATI-Mach8 ISA ATI Graphics Ultra Pro (VRAM) ATI-Mach32 ISA/EISA/VLB/PCI ATI Wonder ATI Ultra Plus (DRAM) ATI-Mach32? ISA/VLB/PCI ATI Expression (DRAM) ATI-Mach64 VLB/PCI ATI GUP Turbo/WinTurbo (VRAM) ATI-Mach64 VLB/PCI Obs Acumos AVGA3 CL-GD5422/4/6 ISA/VLB Boca Vortex IIT AGX-015? VLB Obs Cardex Cobra ET4000/W32i Cardex Challenger ET4000/W32p VLB Cardex Challenger Pro ET4000/W32p PCI Cardex Thunder S3-864 PCI DFI-WG1000 CL-GD5422/6/8 ISA/VLB DFI-WG2000 ALG-2301? PCI DFI-WG5000 ET4000/W32p PCI DFI-WG6000 WD90C33 VLB EIZO VRAM? IIT AGX-015 VLB ELSA Winner 1000 S3-928 ISA/PCI ELSA Winner 1000PRO S3-864 ELSA Winner 2000 S3-928 VLB Obs Diamond SpeedStar (Plus/24) ET4000AX ISA Obs Diamond SpeedStar 24X WD90C31 ISA/? Diamond SpeedStar Pro CL-GD5426/8 ISA/VLB Diamond SpeedStar 64 CL-GD5434 ISA (1) Diamond SpeedStar Pro SE CL-GD5430/4 VLB/PCI Obs Diamond Stealth VRAM S3-911/924 ISA Diamond Stealth 24 S3-801/805 ISA/VLB Obs Diamond Stealth Pro S3-928 ISA/VLB Diamond Stealth 32 (5) ET4000/W32p VLB/PCI Diamond Stealth 64 DRAM S3-864 (2)? VLB/PCI Diamond Stealth 64 DRAM Video S3-868 VLB/PCI Diamond Stealth 64 VRAM S3-964 VLB/PCI Diamond Stealth 64 VRAM Video S3-968 VLB/PCI Diamond Viper Pro Weitek P9100 VLB/PCI ExpertColor DSP6430 C&T-64300DGX? VLB Obs Genoa 8500VL(-28) CL-GD5426/8 ISA/VLB Genoa 8900 Phantom 32i ET4000/W32i/p VLB/PCI Genoa Phantom 64i S3-864 VLB/PCI Hercules Dynamite Power ET4000/W32i/p Hercules Dynamite Pro ET4000/W32i/p ISA/VLB Obs Hercules Graphite Pro IIT AGX-014/5/6 ISA/VLB Obs Hercules Graphite Power IIT AGX-016 ISA/VLB Hercules Stingray ALG-2228/2301 VLB/PCI Hercules Terminator 64 S3-964 Intel 5430 CL-GD5430 PCI LeadTek WinFast S200 (4) ET4000/W32p PCI Obs Miro Crystal 8S S3-805 VLB Miro Crystal 10SD S3-801/805 Miro Crystal 16S S3-928 VLB Miro Crystal 20SD S3-864 (3)? VLB/PCI Number Nine GXE 64 (3)? S3-864/Trio64 VLB/PCI Number Nine GXE 64 Pro S3-964 VLB/PCI Obs Orchid Celsius AGX Obs Orchid Fahrenheit 1280 S3-911(924?) ISA Obs Orchid Fahrenheit VA S3-801/805 ISA/VLB Orchid Kelvin EZ CL-GD5430? VLB/PCI Orchid Kelvin 64 CL-GD5434 ISA/VLB/PCI Obs Paradise Accelerator Value OTI-087 Paradise Accelerator 24 WD90C31? Paradise VL3000 WD90C31? VLB Paradise VL-Plus WD90C33? VLB Sigma Concorde ET4000/W32i VLB SPEA/V7 Mercury S3-928 SPEA/V7 Mirage P64 S3-864 Spider VLB Plus CL-GD5428 VLB Spider Tarantula 64 S3-964 Spider Graphics Pro-Vision 64 Alliance-3210 Obs STB Powergraph X-24 S3-801/805 ISA/VLB STB Powergraph/V S3-868 Obs STB Horizon CL-GD5426/8 ISA/VLB STB ? CL-GD5430 PCI STB Pegasus S3-928 VLB STB LightSpeed ET4000/W32i/p VLB STB Nitro CL-GD5434 PCI STB Velocity 64V S3-968 Techworks Thunderbolt ET4000/W32p Techworks WarpVL-1 S3-864? Techworks WarpVL-2 S3-864? VG-8000 WH WD90C33? VideoMagic PCI V864 S3-864 PCI VidTech FastMax P20 S3-864 ViewTop PCI ET4000/W32p PCI Notes (1) The local bus versions of the Diamond SpeedStar 64 appear to be called Diamond SpeedStar (Pro) SE (CL-GD5430/4 based). (2) S3-864 with 60 MHz MCLK. (3) S3-864 with 50 MHz MCLK. (4) Reported to have slower DOS performance than some other PCI ET4000/W32p-based cards. (5) Probably uses quite aggressive chip/memory timing. DRAM vs. VRAM ------------- Video cards need to access video memory for two purposes: - Refreshing the monitor screen from the picture stored in video memory. - Drawing graphics into video memory. With dual-ported VRAM memory, both tasks can be performed simultaneously. With DRAM memory, graphics drawing is blocked while memory is read for monitor refresh (this usually happens with burst reads into a so-called CRT FIFO buffer). There is a maximum amount of video memory that can be accessed by the card in one second. This is called video memory bandwidth. On a VRAM-based card, all available memory bandwidth is available for drawing since it is undisturbed by monitor refresh. On a DRAM-based card, the video memory bandwidth left for drawing is the total video memory bandwidth subtracted by the bandwidth used for monitor refresh. If monitor refesh takes up a large portion of the bandwidth, graphics performance goes down steeply. With 32-bit video memory access (which is the case with a 1Mb DRAM-based card, including so called 64-bit ones), the video memory bandwidth is typically something from 90 to 120 Mb/s. With 64-bit video memory access (which is the case with 64-bit 2Mb DRAM-based cards, and 64-bit VRAM-based cards), the video memory bandwidth is doubled (about 200 Mb/s). For a mode like 1024x768x256 with 80 Hz refresh, the amount of bandwidth taken up by monitor refresh is approximately 1024 * 768 * 80 = 63 Mb/s, which with overhead added works out to about 75 Mb/s of video memory bandwidth. The overall situation for 1024x768x256 NI looks like this: 1Mb DRAM 2Mb DRAM 1Mb VRAM 2Mb VRAM 32-bit (*) 64-bit 32-bit 64-bit Total bandwidth: 100 Mb/s 200 Mb/s 100 Mb/s 200 Mb/s Refresh bandwidth: 75 Mb/s 75 Mb/s 75 Mb/s 75 Mb/s Left for drawing: 25 Mb/s 125 Mb/s 100 Mb/s 200 Mb/s (*) Includes so-called 64-bit cards with 1Mb DRAM. The amount of bandwidth left for drawing pretty much corresponds to raw graphics primitive performance. As you can see the 1Mb DRAM-based card is seriously impaired compared to the 2Mb DRAM and VRAM configurations. For 64-bit 2Mb DRAM cards, resolutions like 1024x768x16bpp and 800x600x32bpp leave relatively little bandwidth for drawing, leaving for example 50 Mb/s, whereas a VRAM-based card can use the full 200 Mb/s. Here's a table that shows the drawing bandwidth for typical non-interlaced resolutions on different memory configurations: Resolution: 800 1024 1280 1024 800 600 768 1024 768 600 Pixel depth: 8bpp 8bpp 8bpp 16bpp 32bpp Refresh bandwidth: 50 75 125 150 180 Total 1Mb DRAM (32-bit) 100 50 25 - - - 1Mb DRAM (32-bit) aggr 120 70 45 - - - 2Mb DRAM (32-bit i) (1) 170 120 95 45 20 - 2Mb DRAM (64-bit) 200 150 125 75 50 20 2Mb DRAM (64-bit) aggr 240 190 165 115 90 60 1Mb VRAM (32-bit) 100 100 100 - - - 2Mb VRAM (32-bit) (2) 100 100 100 100 100 100 2Mb VRAM (64-bit) 200 200 200 200 200 200 Two 1Mb and 2Mb DRAM configurations are listed, one with more aggressively timed memory. Some 2Mb S3-864-based cards use the aggressive timing (60 MHz MCLK), while other S3-864's and most CL-GD5434's are more conservatively timed (50 MHz MCLK). (1) 32-bit interleaved memory access (e.g. ET4000/W32p). (2) 32-bit access for drawing, but 64-bit access for monitor refresh. Typical of previous-generation high-end VRAM accelerators. As far as DOS performance (host bus transfers) is concerned, note that there is generally enough video memory bandwidth available to handle a good bus speed in the low-res modes for which it matters most. However, it all depends on how smart the host bus interface on the card is. A DRAM card will need a very good CPU write buffer to avoid waits when video memory is unavailable due to monitor refresh. Some recent DRAM chipsets have a good host bus interface, while some VRAM chipsets haven't been optimized to do better than the reasonable scores delivered by VRAM with a relatively simple bus interface. VLB vs. PCI ----------- The Vesa Local Bus is a strongly tied to the 486 bus interface, and usually very directly connected to the CPU. As a result, variation in timing between different CPU's is problematic and makes very quick response to writes (3 cycles or less) very difficult to implement consistently on an adapter card. A lot depends on the VLB logic on the motherboard. With a good card VLB can sustain 4 cycle 32-bit writes at 33 MHz; with zero-wait state setting on some cards it can approach 2 cycles per write (but this may be unreliable as mentioned). The VLB standard includes burst-mode, but I'm not sure if it is actually usable. A higher clock such as 50 MHz helps, but the benefit is reduced by the need to insert extra cycles (waitstates). Many VLB cards behave as a 16-bit host bus interface card in some or all video modes, so that 32-bit writes are twice as slow as they should be. The PCI bus is independent of the CPU, and runs at a fixed speed (30/33 MHz), so that cards can depend on relatively stable timing. The PCI standard includes a buffer between the CPU and the bus (the so-called CPU-to-PCI-buffer), the implementation of which varies greatly between different motherboard designs (some poor ones simply don't have one or it is disabled). With a decent implementation, the CPU can continue its calculations immediately after a write to the bus, which takes place in the background. This can be beneficial for animation that writes directly to the screen, rather than copying large bitmaps from system memory. The PCI burst mode standard is better established, but you need a pretty good CPU-to-PCI-buffer for burst-mode writes to be generated. Apparently this is even more difficult with the bus interface of a Pentium. Burst mode does seem to be essential for good PCI throughput. PCI video card chipsets that support burst mode should be much faster than others. Typical rates are 5 or 6 cycles per write without burst- mode on a good chipset (e.g. Intel Saturn (486) chipset without burst-mode, about 25 Mb/s throughput), while a good burst mode implementation can bring it up to an average approaching 2 cycles per write (60 Mb/s). All this assumes a PCI card with a good write buffer that is able to receive accesses most of the time. Here's a little table of the expected throughput different cycle timings timings, for groups of 4 32-bit writes (burst-mode or not). Note that the card types mentioned are assumed to have maximized bus performance. Cycles Speed Max Throughput 4-4-4-4 33 MHz 33 Mb/s Good VLB card at 33 MHz 4-4-4-4 40 MHz 40 Mb/s Good VLB card at 40 MHz 5-5-5-5 50 MHz 40 Mb/s Good VLB card at 50 MHz 3-3-3-3 33 MHz 44 Mb/s VLB zero-wait state? at 33 MHz (6) 4-4-4-4 50 MHz 50 Mb/s Good VLB card at 50 MHz 2-2-2-2? 33 MHz 67 Mb/s VLB zero-wait state at 33 MHz (5) 9-9-9-9 33 MHz 15 Mb/s Poor PCI system 6-6-6-6 33 MHz 22 Mb/s PCI without burst-mode (1) 5-5-5-5 33 MHz 27 Mb/s PCI without burst-mode (2) 8-1-1-1/5-2-2-2 33 MHz 48 Mb/s Typical for Pentium design 7-1-1-1/4-2-2-2 33 MHz 53 Mb/s 6-1-1-1/3-2-2-2 33 MHz 59 Mb/s 486 design with burst mode (3) 5-1-1-1/2-2-2-2 33 MHz 67 Mb/s Theoretical max. for 33 MHz 486 3-1-1-1 33 Mhz 89 Mb/s Adapter card burst (4) 2-1-1-1 33 MHz 107 Mb/s Max. for 4-word burst x-1-1-1-1-... 33 MHz 133 Mb/s Theoretical max. for 32-bit PCI (1) Intel Saturn with CPU-to-PCI-buffer disabled. (2) Intel Saturn with burst-mode disabled. (3) Intel Saturn with burst-mode enabled. (4) A good card supporting burst-mode may support this (one-shot at least), but would take quite some CPU-to-PCI-buffer to sustain. (5) 55 Mb/s observed on Cirrus Logic GD5434 VLB set to zero wait-state. (6) 42 Mb/s observed on ET4000/W32p VLB. DOS Performance --------------- The term 'DOS performance' is meant as a general indication of write-images-over-host-interface performance, with special interest to low-res VGA modes, as used by DOS games. VIDSPEED is a good indicator of raw bus transfer speed (unlike 3dbench and, god forbid, 'Landmark'). It measures the throughput of writing constant pixel data to video memory over the bus in graphics modes. Here's a table of results, in kilobytes per second, for typical modes with both 16-bit and 32-bit writes. A vidspeed number of '17011W' means 17 Mb/s for writes. Cards sorted on the average over all modes. A weighted score is derived for low-resolution (game) modes, for a subset of SVGA modes, and both combined. The weights are as follows: Low res modes Weight Scaling Resulting weight factor 320x200x256 16-bit 30% 2 60 320x200x256 32-bit 40% 1 40 360x480x256 16-bit 20% 2 40 360x480x256 8-bit read 10% 10 100 SVGA modes 640x480x256 16-bit 20% 2 40 640x480x256 32-bit 60% 1 60 640x480x16M 32-bit 20% 1 20 The scaling compensates for the different sizes of the operations (e.g. 16-bit vs. 32-bit). The weighted score is derived by multiplying the results for each mode with the weight factor for that mode, and adding them up. The scores are finally divided by 100 to get a rough unit of millions of pixels per second. Results so far (sorted on score): Low Res Modes Card and bus 320x200 320x200 360x480 360x480 16-bit 32-bit 16-bit R 8-bit Score Genoa Phantom 64 2M (S3-864) VLB DX2/66 22200 33000 16300 2000 35.04 ET4000/W32p (2Mb) VLB DX2/66 16650 33300 16408 3780 33.65 CL-GD5434 2Mb VLB SX/40 18024 35929 9460 2655 31.62 CL-GD5434 2Mb VLB SX/33 (1) 16599 33233 9356 2619 29.61 CL-GD5434 2Mb VLB SX/33 16318 32572 9064 2406 28.85 Diamond Stealth 64 VRAM 2Mb VLB DX2/66 19073 22629 10081 2039 26.56 Diamond Stealth 24 (S3-805) VLB 15922 11077 5546 2391 18.59 LightSpeed W32p (1Mb) PCI DX2/66 7396 14800 7397 2655 15.97 Orchid Fahrenheit 1280+ 1Mb VLB DX2/66 10126 9002 5177 1943 13.69 ET4000 ISA DX/33 5259 6311 5261 1255 9.03 ET4000 ISA 3145 3145 3146 944 5.34 Trident 8900 ISA 2941 3006 1167 904 4.33 SVGA Modes Card and bus 640x480 640x480 640x480x16M 16-bit 32-bit 32-bit Score CL-GD5434 2Mb VLB SX/40 17843 35687 30946 34.73 CL-GD5434 2Mb VLB SX/33 (1) 16656 33346 33300 33.33 ET4000/W32p (2Mb) VLB DX2/66 16656 33346 33346 33.33 CL-GD5434 2Mb VLB SX/33 15444 30889 26923 30.09 Diamond Stealth 24 (S3-805) VLB 15360 30720 14726 27.52 Diamond Stealth 64 VRAM 2Mb VLB DX2/66 19235 19235 19191 23.07 Genoa Phantom 64 2M (S3-864) VLB DX2/66 17000 17000 8700 18.74 LightSpeed W32p (1Mb) PCI DX2/66 7398 14804 14804 14.80 Orchid Fahrenheit 1280+ 1Mb VLB DX2/66 5539 11078 6632 10.18 ET4000 ISA DX/33 5259 6312 0 5.89 ET4000 ISA 3145 3145 0 3.14 Trident 8900 ISA 2941 3008 0 2.98 Overall Busteroids Card and bus Low Res SVGA Overall ET4000/W32p (2Mb) VLB DX2/66 33.65 33.33 33.49 CL-GD5434 2Mb VLB SX/40 31.62 34.73 33.18 CL-GD5434 2Mb VLB SX/33 (1) 29.61 33.33 31.47 CL-GD5434 2Mb VLB SX/33 28.85 30.09 29.47 Genoa Phantom 64 2M (S3-864) VLB DX2/66 35.04 18.74 26.89 Diamond Stealth 64 VRAM 2Mb VLB DX2/66 26.56 23.07 24.82 Diamond Stealth 24 (S3-805) VLB 18.59 27.52 23.05 LightSpeed W32p (1Mb) PCI DX2/66 15.97 14.80 15.38 Orchid Fahrenheit 1280+ 1Mb VLB DX2/66 13.69 10.18 11.93 ET4000 ISA DX/33 9.03 5.89 7.46 ET4000 ISA 5.34 3.14 4.24 Trident 8900 ISA 4.33 2.98 3.65 (1) Card set to zero wait states. CPU is clearly the bottleneck (4 cycle writes vs. 3 cycles possible). The 320x200x256 mode has most relevance for DOS games, 640x480x256 is becoming increasingly popular. The 360x480 VGA mode score has relevance for games that use 'Mode X'. The 640x480x16M mode result is interesting for windows-video type applications. From these results, the preliminary DOS performance chipset hierarchy looks like this: Low Res: S3-864 (DRAM) > CL-GD5434/ET4000/W32p > S3-964 (VRAM) > S3-805 > ISA SVGA: ET4000/W32p > CL-GD5434 > S3-964 (VRAM) > S3-805 > S3-864 (DRAM) > ISA Vidspeed probably uses the 'rep stos' instruction to repeatedly write data to the card. This instruction takes 4 cycles per iteration on a 486. Hence, on a non-clock doubled 486, if the video card can process a CPU write in less than 4 cycles, the CPU will be the bottleneck. Most numbers correspond to the number of bus cycles that each write takes. For example, with a 33 MHz bus, and 32-bit writes, you are writing 4 bytes at a time. Given 4 cycle writes, you have one byte per cycle and thus 33 Mb/s. With 3 cycle writes you would get 44 Mb/s, and with 2 cycle writes 66 Mb/s, which is what good PCI motherboard/card combinations should come near to. See the table in the VLB vs. PCI section. VIDSPEED can be found in the screen directory of the Simtel MSDOS collection (e.g. oak.oakland.edu, /pub/msdos/screen/vidspd40.zip). Run like 'vidspeed L W S S3 >mycard.out'. GUI Benchmarks -------------- WinBench 95 (FTP: zcias3.ziff.com: /pub/zdbop/winbench/winben.exe) This seems to be more of a graphics/system performance benchmark in that it profiles real-world usage, which may depend more strongly on CPU and bus than older versions. For XFree86 performance, refer to a regularly posted survey in the newsgroup comp.windows.x.i386unix. Monitor Timing -------------- There are three basic parameters that describe the rates at which a picture is displayed on a monitor. The Vertical Refresh Rate is the number of times the entire screen is refreshed per second. The video card sends signals to the monitor to let the monitor beam move from the top of the screen to the bottom, scanline by scanline, 70 or so times per second. The Horizontal Sync Rate is the rate at which scanlines are displayed. This the key parameter and the horizontal sync range that a monitor supports defines what modes it can support. The horizontal sync rate increases as the vertical refresh frequency is increased and as the vertical resolution is increased (since a higher rate is required to keep the same refresh frequency with more scanlines). The Monitor Bandwidth is the rate at which pixels are displayed on the monitor as a scanline is drawn. This is usually not a critical parameter, although it is specified for most monitors indicating the pixel rate limit for an image of acceptable quality. Parameters for typical resolutions: Resolution Vert. Refresh Horizontal Sync Bandwidth 640x480 60 Hz 31.5 kHz 25 MHz 640x480 72 Hz 36.5 kHz 31.5 MHz 640x480 75 Hz 37.5 kHz 31.5 MHz 800x600 56 Hz 35.2 kHz 36 MHz 800x600 60 Hz 37.8 kHz 40 MHz 800x600 72 Hz 48.0 kHz 50 MHz 800x600 75 Hz 46.9 kHz 49.5 MHz 1024x768i 87 Hz interl. 35.5 kHz 45 MHz 1024x768 60 Hz 48.4 kHz 65 MHz 1024x768 70 Hz 56.5 kHz 75 MHz 1024x768 75 Hz 60 kHz 78.7 MHz 1280x1024i 87 Hz interl. 48 kHz 75 MHz 1280x1024 60 Hz 65 kHz 108 MHz 1280x1024 74 Hz 78.9 kHz 135 MHz The 75 Hz modes are current VESA mode timing standards, the 72 Hz timings are the old standard. The pixel depth (number of colors) does not have any relation to the monitor timing. You can conceivably display 48-bit truecolor at 640x480 on an old analog color VGA monitor. Note that the monitor bandwidth for a mode is approximately equivalent to the video memory bandwidth taken up by monitor refresh on a DRAM-based card (when multiplied by the pixel size). References ---------- A magazine with good articles on PC hardware is the German magazine c't (magazin fuer computer technik).