For the purpose of comparing the relative real-world performance of various processors, it’s useful to run CPU and graphics-intensive benchmarks such as 3DBench or DOOM. To avoid benchmarking the graphics card instead, the VGA has to have enough headroom so that it doesn’t become the bottleneck. And because benchmarking 386 (i.e. ISA-only) systems is desired, it has to be a (16-bit) ISA VGA card.
On the other hand, accelerated graphics performance is uninteresting here; only standard VGA matters. So what’s a fast ISA VGA card? That’s a question which is not as easy to answer as it perhaps should be.
Starting in about 1992, VL-bus graphics cards appeared on the market and their performance immediately eclipsed that of ISA-based adapters. In late 1993, PCI arrived and captured the performance crown (for a few years before AGP, itself a PCI derivative, showed up).
What that means is that VLB and PCI cards were always the winners of benchmarks starting around 1992, and ISA cards couldn’t keep up. At the same time ISA graphics cards continued being produced until at least 1995, so perhaps one of the latter-day ISA VGA cards was the fastest?
The current answer seems to be “not really”. But as usual, there are multiple factors at play.
Not surprisingly, the speed of the ISA bus has a major impact on VGA performance. VGA is a more or less dumb framebuffer, which means a lot of data has to be pushed around by the CPU one pixel at a time (or at most several at once).
In the old days, the ISA bus was clocked at the same frequency as the CPU, but when faster 286s and especially 386s arrived, that was no longer feasible. The CPU (and memory) bus ran typically at 20, 25, 33, or 40 MHz, but the ISA bus ran at a speed around 8 MHz.
Many ISA adapters handle higher speeds, often 10 or 12 MHz. But not all do. Therein lies the first hurdle—a system with 12 MHz ISA bus and a fast VGA isn’t very useful if the disk subsystem can’t handle such speed and the machine won’t boot.
Ironically, benchmarking an ISA VGA card can for that reason be easier in a PCI-based 486 or Pentium system where the rest of the system runs on the PCI bus and only a VGA sits on the ISA bus. With such an arrangement, the ISA bus speed can be adjusted without upsetting other devices.
This bus speed problem is compounded by the fact that ISA speed control is often limited and only few options are available. For example 10 and 13 MHz speeds might be available; if the system works at 10 MHz but not at 13 MHz, there’s a good chance it would work at 11 or 12 MHz… but there is no way to tell because there are no such options.
Whichever is the case in a particular system, faster ISA bus speed equals faster ISA VGA speed.
Note that 8-bit VGA controllers were not considered at all. At half the bus width, an 8-bit VGA running in the same-speed bus simply can’t keep up with a 16-bit model.
Not surprisingly, the system chipset also has a lot to do with the performance. For example a quick test of a Soyo 4SAW2 board (SiS chipset, PCI/VLB/ISA) revealed a fairly poor ISA VGA performance. But such a system was not meant to run with an ISA graphics card.
On the other hand, a Gigabyte 586HX board (Intel 430HX chipset, PCI/ISA) showed remarkably good ISA performance—with the caveat that the only only ISA bus speed options were 7 MHz, 1/4 PCLK, and 1/3 PCLK. At the standard 33 MHz PCI clock speed, that translates to 8.3 and 11.1 MHz, respectively. Some ISA cards aren’t be able to function correctly at 11.1 MHz; then again, those won’t be the benchmark winners.
VGA Cards and Chips
The selection of tested cards reflected what’s available at the OS/2 Museum. It includes cards produced between 1990 and 1993, and covers both low-end and high-end (at the time) devices. Here are the entrants, in no particular order:
- Trident TVGA8900B based card, Octek OEM
- ELSA Winner XHR 1000, dual ISA/EISA model, S3 928 controller
- Cirrus Logic CL-GD5422 card, unknown OEM (likely sold by ESCOM or Vobis)
- Acumos AVGA2 card, unknown OEM (again likely ESCOM or Vobis)
- Genoa SuperVGA, ET4000AX controller, 512KB RAM
- Diamond SpeedStar VGA, ET4000AX controller, 1MB RAM
- ATI Graphics Vantage, ATI 28800 VGA, 512KB + 1MB DRAM
- ATI Graphics Ultra, ATI 28800 VGA, 512KB + 1MB VRAM
- miro Magic Plus, CL-GD5401 VGA
The non-entrants were two cards based on the S3 911 and S3 924 chips. Both of those (very similar) cards have quite poor VGA performance (but very good accelerated performance!) and could not compete.
The Slowpokes and Rejects
It quickly became clear that some of the cards were significantly slower than the rest. The Trident 8900B card was by far the slowest. The miro Magic Plus was faster, but still much slower than the others. The miro Magic Plus is a card with a separate accelerator chip, somewhat similar to the two ATI cards. It was not sold for VGA performance, so its relatively poor showing was unsurprising.
The two ATI cards had identical performance and the Ultra was excluded from further tests. This is unsurprising: These cards are really 2-in-1 devices with completely separate VGA and accelerated chips, even with separate memory. While the Ultra uses VRAM and Vantage uses DRAM for the accelerator, both use DRAM (512KB of it) for VGA.
The Genoa SuperVGA was consistently slower than the Diamond SpeedStar with the same Tseng chip, and was not tested further.
The consistently good but not stellar performers were the ATI Graphics Vantage, the ELSA Winner XHR 1000 (S3 928), and the CL-GD5422 card.
The ELSA Winner did very well in chained VGA modes, but not as well in planar VGA (Mode X). The CL-GD5422 was slower in chained but faster in planar modes. The ATI card was somewhat slower than either of the two.
Among the two top performers, one was expected and one was not. The Diamond SpeedStar with ET4000AX chip was expected to do well. Despite its age, the ET4000AX was one of the fastest VGA chips, albeit unaccelerated.
The unexpected one was the AVGA2 card. The Acumos AVGA and AVGA2 chips were the first fully integrated VGA chips. Their selling point was low price, not high performance. Yet the VGA performance of the AVGA2 bested far more expensive cards from ATI or S3.
Both of these cards were able to hit 5.5 MB/s transfer speeds in the 430HX board when running at 11.1 MHz. It is highly likely that they could perform even faster at 12 MHz or more. Only the S3 928 (ELSA Winner) came somewhat close.
It is difficult to say which of the two (SpeedStar or AVGA2) is faster. The SpeedStar is faster at reading from the VGA framebuffer, but that rarely matters. The AVGA2 had a razor thin edge running DOOM on the 430HX system, but the SpeedStar was faster on DOOM in a 386 board. The difference was only a few percentage points in either case, possibly within the margin of error.
Later, a Diamond SpeedStar 24 was also tested. Its performance was not distinguishable from that of the older SpeedStar. That is not very surprising since the real difference between the two is the DAC.
Overall, the a SpeedStar or SpeedStar 24 would probably be preferable to an AVGA2 card due to larger video memory size and better DAC, but for pure VGA it really doesn’t matter.
The Raw Numbers
First a comparison with a TI486 SXL2 processor running at 40 MHz (not clock doubled), with the ISA bus running at 1/8 CLK; that should be 10 MHz since 386s run at ½ CLK frequency.
The benchmarks used were: 3DBench, a mix of calculations and video access; Vidspeed, a pure VGA bandwidth test; and DOOM, again a mix of calculations and video access.
With 3DBench, the results are in frames per second, higher is better. With DOOM, the results are in total ticks for a demo run, lower is better. With Vidspeed, there is Move, Write, and Read bandwidth, all in MB/s, higher is better.
miro Magic Plus (CL-GD5401): 3DBench : 18.8 FPS Vidspeed VGA : M/W/R 2.2 / 2.2 / 1.5 MB/s Doom timedemo : 4330 realtics ATI Graphics Vantage (ATI 28800): 3DBench : 21.7 FPS Vidspeed VGA : M/W/R 3.0 / 3.0 / 1.9 MB/s Doom timedemo : 4333 realtics Diamond SpeedStar VGA (ET4000AX): 3DBench : 22.7 FPS Vidspeed VGA : M/W/R 3.7 / 3.7 / 2.4 MB/s Doom timedemo : 3997 realtics AVGA2: 3DBench : 22.2 FPS Vidspeed VGA : M/W/R 3.1 / 3.1 / 2.1 MB/s Doom timedemo : 4159 realtics Cirrus Logic (CL-GD5422): 3DBench : 20.8 FPS Vidspeed VGA : M/W/R 2.9 / 3.1 / 2.1 MB/s Doom timedemo : 4192 realtics Octek Trident (TVGA8900B): 3DBench : 13.8 FPS Vidspeed VGA : M/W/R 1.2 / 1.2 / 1.2 MB/s Doom timedemo : 5382 realtics ELSA Winner XHR 1000 (S3 928): 3DBench : 23.2 FPS (50MHz) Vidspeed VGA : M/W/R 3.1 / 3.1 / 1.9 MB/s Doom timedemo : 4134 realtics (50MHz)
It’s obvious that there are quite bit differences and that the TVGA8900B based card is much worse than any of the others. For the ELSA Winner, the tests were ran with a clock-doubled configuration (50 MHz internal clock) which improved the 3DBench and DOOM scores, since those programs are CPU intensive and with 8 KB L1 cache, the SXL2 can take advantage of the increased internal frequency.
Here is a second set of numbers, from a newer GA-586HX board with AMD K5-PR133 CPU and with the ISA bus running at 1/3 PCLK (about 11.1 MHz):
ATI Graphics Vantage (ATI 28800): 3DBench : 47.6 FPS Vidspeed VGA : M/W/R 4.2 / 4.2 / 2.4 MB/s Vidspeed MODEX : M/W 2.7 / 2.7 MB/s Doom timedemo : 1879 realtics ATI Graphics Ultra + (ATI mach32): 3DBench : 50.0 FPS Vidspeed VGA : M/W/R 4.4 / 4.4 / 2.7 MB/s Vidspeed MODEX : M/W 3.6 / 3.6 MB/s Doom timedemo : 1795 realtics AVGA2: 3DBench : 55.5 FPS Vidspeed VGA : M/W/R 5.5 / 5.5 / 2.7 MB/s Vidspeed MODEX : M/W 5.5 / 5.5 MB/s Doom timedemo : 1517 realtics Diamond SpeedStar VGA (ET4000AX): 3DBench : 55.5 FPS Vidspeed VGA : M/W/R 5.5 / 5.5 / 3.2 MB/s Vidspeed MODEX : M/W 5.5 / 5.5 MB/s Doom timedemo : 1549 realtics Diamond SpeedStar 24 (ET4000AX): 3DBench : 55.5 FPS Vidspeed VGA : M/W/R 5.5 / 5.5 / 3.2 MB/s Vidspeed MODEX : M/W 5.5 / 5.5 MB/s Doom timedemo : 1553 realtics ELSA Winner XHR 1000 (S3 928): 3DBench : 55.5 FPS Vidspeed VGA : M/W/R 5.5 / 5.5 / 2.4 MB/s Vidspeed MODEX : M/W 3.0 / 3.0 MB/s Doom timedemo : 1763 realtics Trident TVGA9000B: 3DBench : 21.2 FPS Vidspeed VGA : M/W/R 1.3 / 1.3 / 1.1 MB/s Vidspeed MODEX : M/W 1.3 / 1.3 MB/s Doom timedemo : N/A Cirrus Logic (CL-GD5422): 3DBench : 50.0 FPS Vidspeed VGA : M/W/R 4.4 / 4.4 / 2.9 MB/s Vidspeed MODEX : M/W 4.4 / 4.4 MB/s Doom timedemo : 1873 realtics
This is a considerably faster system and it pushes the cards to the limit of the ISA technology. Note that there were several identical 3DBench scores — it can be assumed that the system couldn’t move data to the graphics card any faster. There is a similar story with the Vidspeed figures where several cards hit 5.5 MB/s.
Added to the mix were Vidspeed Move and Write numbers for Mode X, an “unchained” planar VGA mode used by many games (including DOOM). It is noteworthy that for most cards, the VGA and MODEX results are very similar, but that’s not the case in the higher-end accelerators, both from ATI and from S3.
To put the speed of the ISA cards in perspective, a test with a PCI based Cirrus Logic CL-GD5446 was also made with the GA-586HX board. This was an inexpensive PCI card at the time.
Cirrus Logic PCI (CL-GD5446): 3DBench 1.0C : 116.4 FPS Vidspeed VGA : M/W/R 39.1 / 42.8 / 7.9 MB/s Vidspeed MODEX : M/W 22.7 / 22.7 MB/s Doom timedemo : 724 realties
The VGA bandwidth of the Cirrus Logic PCI card was 5–8 times better than the Diamond SpeedStar VGA and AVGA2 boards. 3DBench and DOOM were more than twice as fast (and that was with a not-too-fast AMD K5-PR133 CPU). Small wonder that no one was interested in ISA graphics cards in the PCI era.