Fast Unaccelerated VGA?

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.

ISA VGA Cards

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.

Bus Speed

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.

Chipset

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:

  1. Trident TVGA8900B based card, Octek OEM
  2. ELSA Winner XHR 1000, dual ISA/EISA model, S3 928 controller
  3. Cirrus Logic CL-GD5422 card, unknown OEM (likely sold by ESCOM or Vobis)
  4. Acumos AVGA2 card, unknown OEM (again likely ESCOM or Vobis)
  5. Genoa SuperVGA, ET4000AX controller, 512KB RAM
  6. Diamond SpeedStar VGA, ET4000AX controller, 1MB RAM
  7. ATI Graphics Vantage, ATI 28800 VGA, 512KB + 1MB DRAM
  8. ATI Graphics Ultra, ATI 28800 VGA, 512KB + 1MB VRAM
  9. 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 Midfield

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.

The Top

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.

Acumos AVGA2

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.

Diamond SpeedStar

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.

Perspective Correction

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.

This entry was posted in 386, ATi, S3, VGA. Bookmark the permalink.

27 Responses to Fast Unaccelerated VGA?

  1. Andreas Kohl says:

    From my memories Trident cards were not so worse. Unfortunately a lot of them were jumpered for 8-bit bus operation by default. For benchmarking ISA VGA cards in a PCI system board it’s better to switch of IDE and floppy controllers in BIOS and using a hard drive connected to a PCI SCSI host bus adapter – to be fanatically enough.

  2. Chris W. says:

    Andreas, the later Trident cars weren’t too bad (going by memory). The earlier ones were painful. Unfortunately, the 8900 was a pretty common card.

    The problem was trying to find a good ISA card with both fast VGA speed and good accelerated performance. To this day I’m not sure that there was a perfectly balanced card in that respect.

  3. Michal Necasek says:

    What would turning off IDE/floppy do?

    It’s possible that the Trident card was jumpered to 8-bit operation… if it did indeed use such bizarre defaults. Even if the card were twice as fast, it would still be slow though.

  4. Michal Necasek says:

    The S3 928 and the Mach 32 both have quite respectable VGA performance and should be good accelerators. But yes, it seems that the fastest VGA cards are the unaccelerated ones. And in turn some accelerators (S3 911/924) are totally lousy VGA cards.

  5. GL1zdA says:

    Turning off IDE will sometimes improve perfomance on motherbaoards that attach IDE to the local bus – in such designs the whole PCI bus will compete with the IDE controller over the bus bandwidth. I haven’t tested such designs myself, my 420EX based motherboard has identical benchmark scores regardless of whether I use the onboard local bus IDE or a PCI IDE controler.

    If you want some old benchmarks, here’s a list I’ve compiled:
    http://www.vogons.org/viewtopic.php?p=174957#p174957

  6. Dinis says:

    The Orchid cards were touted to have good accelerated and unaccelerated performance.

  7. Michal Necasek says:

    Orchid… but which one? They used various graphics chips.

  8. Michal Necasek says:

    I have trouble seeing how that would matter in a benchmark that doesn’t simultaneously do graphics and disk access?

  9. GL1zdA says:

    It doesn’t matter until you measure it – sometimes there are surprises. For example all PCI S3 Vision (864/868/964/968) VGAs will lower SPEEDSYS HDD benchmarks on several different motherboards I’ve used. Can’t remember exact numbers but it was something like 10% lower so it wasn’t just a measurement error. I don’t know why, still they do it, they are the only ones doing it and I’ve tested something like two dozens of different VGA chips.

  10. Richard Cranium says:

    As soon as I saw the article title, I said to myself “something from Diamond, based on the ET4000 chipset”. Had one back in the day, VLB-based with a ET4000/W32p chipset (a bit apples-and-oranges, I know…) – and being DOS-game heavy at the time, I noticed it’s impressive pure VGA (and – yes, tenuously related – SVGA) performance.

    The poor showing from the TVGA8900 wasn’t a surprise, either: I had a TVGA9000 (always a little bit off a directly comparison, aren’t I?), and it too was a bit of a slug.

    The Elsa Winner being right up at the front of the pack raised an eyebrow, though: I thought S3s were Windows accelerators first and foremost, not exactly renowned for their startling DOS performance.

    I’d heard of AVGA-based cards way back when, but I’ve never seen one. Perhaps we could call them the Preston Tucker of ISA graphics?

  11. Michal Necasek says:

    The Trident 8900 and 9000 chips are extremely similar in terms of performance (there will be a follow-up post).

    The earlier S3 chips (911 and 924) were indeed useless as pure VGA cards, just incredibly slow. I’m not sure about the 805 but the 928 had clearly much improved VGA performance. I didn’t bother benchmarking the old ISA S3s I have, but maybe I should just for the laughs.

    You may have seen the Cirrus-branded AVGAs. Cirrus bought Acumos in ’92 and sold the AVGA1 and AVGA2 chips as CL-GD5401 and CL-GD5402, respectively.

  12. Michal Necasek says:

    I bet the S3 chips do something stupid on the PCI bus. Maybe preventing burst transfers, or increasing latency, or messing with retries, or something like that. It wouldn’t be the first time that a PCI device would have unexpected impact on a system. Would be interesting to know if the effect is there even if the S3 is a secondary card, active but not handling VGA.

    I recall a problem where Matrox graphics accelerators could starve a PCI sound card if they were programmed to aggressively use the PCI bus. Or there was that thing with SB Live! and VIA 686B chipsets. It’s a bit easier nowadays when add-on cards are each on their separate bus, isolated from each other.

  13. Pingback: About Those Trident VGAs… | OS/2 Museum

  14. dosfan says:

    I recall the Tseng Labs ET4000 chipset being one of the fastest of the era. I had a Diamond SpeedStar on a Gateway 2000 486/33, not only was it fast for its time, it had early SVGA support (800×600) including a VBE 1.2 TSR. Also Tseng Labs would send anyone the ET4000 databook free of charge.

    I also recall the Trident cards generally being bottom of the barrel.

  15. Anonymous Coward says:

    May I ask some of the other details about the 386 system these cards were tested in? For example, motherboard, amount of memory/cache, if a soundcard was present etc.

  16. Michal Necasek says:

    The 386 was a Trigon(?) motherboard with a SiS 85C460 chipset and 256K cache. The Pentium system was a GA-586HX with 512K cache and AMD K5-PR133 processor (66 MHz FSB, 1.5 multiplier). If a sound card was installed (usually not), it was intentionally not used.

    Are the numbers too far off from yours?

  17. How come the Trident card on the GA-586HX has no DOOM score listed?

  18. Michal Necasek says:

    I honestly don’t remember. I assume DOOM didn’t work for some reason, but I really don’t recall.

  19. >In late 1993, PCI arrived and captured the performance crown (for a few years before AGP, itself a PCI derivative, showed up).

    And then PCI Express came along and blew AGP out of the water in turn…

  20. (I wonder if there’re any motherboards in existence that support both ISA and PCIe…)

  21. Michal Necasek says:

    Actually it didn’t really. AGP cards did just fine, and only really fell behind in performance because vendors only offered their top models in PCIe form factor. The reality is that the bus is not much of a bottleneck for graphics cards these days, not least because the promise of AGP (textures in system memory, relatively small video memory sizes) never really materialized. For gaming at least, the CPU and GPU performance are far more important than the bus bandwidth.

  22. JM says:

    Cirrus Logic PCI (CL-GD5446):
    3DBench : 211.5 FPS
    Vidspeed VGA : M/W/R 50.6 / 56.8 / 9.0 MB/s
    Vidspeed MODEX : M/W 25.9 /25.0 MB/s
    Doom timedemo : 480 realtics

  23. Nils says:

    Recently I got a Commodore 386SX-25 with a CL-GD5402 with datecode 9234.
    Michal’s AVGA2 is from 9229.
    Here we have a gap of 5 weeks within they must have started branding the chips with CL logos.

    When I start “CHECKIT 2.43” and look for video card, it identifies the graphics chip as “Acumos AVGA2 (5402)”. I wonder if there was something changed in chip or if the tool displays “(5402)” anyway if it finds a AVGA2.

    http://vetusware.com/download/Acumos%20AVGA2/?id=14325
    Here’s a driver disk to AVGA2, which’s tools work on my Cirrus Card. It is definitely worth a look if someone has AVGA2/GD5402. It made me realize, how shitty my “hot” and “new” Dell flatscreen-display really is. I need a multisync CRT again, thrown the last away at least 5 years ago.

    I ran a few tests on this system, here are the results and the system specs:
    386SX-25, 8MB RAM, 42MB Conner CP3000 HDD
    CL-GD5402 Video Card with 512k RAM.

    3DBENCH results:
    3dbench 1.0c = 8.1 FPS

    FASTVID results:
    VSPEED.EXE 640x480x8bpp = 2.58mio bytes per seconds which is 2.46 megabytes/s
    FASTVID.EXE always fails with “INVALID OPCODE 0F 30 5A 59 5D C3 66 8C 15…” – I suspect this due to missing FPU. Need to have a look at opcode table.

    VIDSPEED results:
    Speed to normal RAM = 9634b/ms which is 9.18 megabytes/s
    All tested video modes, but one, result in the almost same speed:
    3198b/ms – 3200b/ms (3200=3.05mb/s)
    The one out of this range: 800x600x8bpp gives 2073b/ms = 1.97mb/s

    All calculations to megabytes/second were done with 1024 and NOT with human’s 10s system with 1000.

    As soon as I get hands on another VGA ISA card I will do the same tests and post here.

  24. Michal Necasek says:

    Is that with the 0WS jumper set to “on” (0WS) or “off” (1WS)?

    The invalid opcode is WRMSR. So due to a missing Pentium or later CPU.

  25. Nils says:

    It was with that onboard card and I think there is no WS jumper, I assume it is configured the way it has most power and there’s no option apart from disabling. I’ll check later.

    Here are the test results with the CL-GD5424 you’ve sent me in the same commodore computer with onboard VGA disabled:

    PC/AT 0WS jumper set:
    3dbench 1.0c = 2.6fps
    vspeed.exe = 1.84 million bytes per second
    vidspeed = all mode between 3102b/ms and 3104b/ms

    PC/AT 0WS jumper not set:
    3dbench 1.0c = 2.5fps
    vspeed = 1.47 million bytes per second
    vidspeed = 2560b/ms – 2564b/ms

    There’s definitely a speed increase with 0WS jumper set.

    This card is a lot slower than the onboard card. I dont know why… It should be at least same speed as the GD5402 onboard card. I’ll check later what kind of interface this onboard card uses to connect to bus. (Open Datasheet, follow traces on board, look how it’s done).

    How would I do further inspection of this slow speed issue?

    The GD5424 you’ve sent me is intended for my AM5x86 SBC and I will test it in there too, but right now I cant find the prepared riser for power-injection and plugging in the VGA card. Annoying chaos…

    And here I asked in a forum about datecodes to get the narrowest window in which they changed from Acumos to Cirrus, maybe also interesting for you and other readers:
    http://www.vcfed.org/forum/showthread.php?66465-Acumos-Cirrus-Logic-when-did-first-CL-branded-chips-arrive-at-market
    The window is down to 4 weeks with the information I got there.

    Is there a way to get notifications on following comments or do you have a “recent comments”-box on your blog? I always forget where I have posted…

  26. Michal Necasek says:

    I think the onboard AVGA2 is not on the ISA bus but rather directly attached to the CPU’s local bus. Potentially about 3x faster bus speed but all depends on how fast the VGA memory actually is.

    Interesting to narrow down the AVGA to Cirrus Logic manufacturing switch. It’s even possible that for a week or two, no chips were produced.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.