VOGONS


Reply 20 of 39, by canthearu

User metadata
Rank Oldbie
Rank
Oldbie

First things first, I have found that ISA video cards are somewhat slower in the pentium system than they are in my 386. Probably because the bus speed is fixed to the AT spec, rather than being programmable.

Test System:
Pentium MMX 233 (I overclocked a 200mhz CPU to match the OPs Processor)
Azza PT-5IT motherboard.
64meg RAM

I have copied the OP's benchmark settings to make results as comparable as possible.

OAK 067 SVGA - 512KB
Quake - 22.7 fps
Doom - 15.5 fps (2134 gameticks in 4816 realticks)
Vidspeed 4.0 (write) - 1026KB/s at 8-bit, 2044KB/s at 16-bit, 2431KB/s at 32-bit

Notes: This card is no match for the ET4000AX, but should be fast enough for early DOS systems. There are certainly a LOT worse, as you will see below.

Tseng ET4000AX SVGA - 1024KB
Quake - 30.4 fps
Doom - 26.2 fps (2134 gameticks in 2849 realticks)
Vidspeed 4.0 (write) - 1832KB/s at 8-bit, 3605KB/s at 16-bit, 4242KB/s at 32-bit

Notes: The ET4000AX is the real deal for ISA based systems. When tested on my 386, vidspeed reached 7772KB/s performance with 32bit transfers. This card, or cards that perform similarly are exactly what you want for fast 386 or ISA only 486 systems.

Trident TVGA 8800CS - 8 bit ISA - 256KB
Quake - 9.4 fps
Doom - 9.4 fps (2134 gameticks in 7953 realticks)
Vidspeed 4.0 (write) - 720KB/s at 8-bit, 730KB/s at 16-bit, 720KB/s at 32-bit

Notes: This card is VERY slow, but would work fine on an XT, and looks like it can take TTL monitors in addition to VGA monitors (not 100% sure, I don't have any to test)

HP D1180A - Paradise PVGA1A - 256KB - 8-bit mode
Quake - 13.5 fps
Doom - 11.9 fps (2134 gameticks in 6285 realticks)
Vidspeed 4.0 (write) - 847KB/s at 8-bit, 1047KB/s at 16-bit, 1130KB/s at 32-bit

Notes: This came from my Vectra CS, and the display is a little bit buggy when used in other computers, but it is a good example of an early VGA card. Definitely better than the trident

HP D1180A - Paradise PVGA1A - 256KB - 16-bit mode
Quake - 22.4 fps
Doom - 11.9 fps (2134 gameticks in 6287 realticks)
Vidspeed 4.0 (write) - 1005KB/s at 8-bit, 2001KB/s at 16-bit, 2306KB/s at 32-bit

Notes: Switching this to 16-bit mode, increases performance in quake a significant amount, but doom performance didn't shift. It looks like doom only uses 8-bit writes when writing frames to video memory.

Geforce 2-MX 400 PCI - 64MB Memory
Quake - 53.1 fps
Doom - 94.1 fps (2134 gameticks in 794 realticks)
Vidspeed 4.0 (write) - 13342KB/s at 8-bit, 33300KB/s at 16-bit, 89043KB/s at 32-bit

Notes: if you have a PCI system, you absolutely must use a PCI card in it. Even the worst PCI card beats the crap out of any ISA card on these systems.

Reply 21 of 39, by BinaryDemon

User metadata
Rank Oldbie
Rank
Oldbie

Interesting results.

That Tseng ET4000AX SVGA - 1024KB is straight up killing it.

Makes me want to see a Tseng ET4000AX vs various VLB cards showdown.

Check out DOSBox Distro:

https://sites.google.com/site/dosboxdistro/ [*]

a lightweight Linux distro (tinycore) which boots off a usb flash drive and goes straight to DOSBox.

Make your dos retrogaming experience portable!

Reply 22 of 39, by canthearu

User metadata
Rank Oldbie
Rank
Oldbie

My VLB system isn't a particularly great example, but just for reference with vidspeed:

System Specs:
486DX-66
8meg RAM
S3 805 1Meg VLB Graphics card

Vidspeed L:
8-bit Transfers: 8325KB/s
16-bit Transfers: 16650KB/s
32-bit Transfers: 11100KB/s

8 and 16 bit transfers are as fast as normal memory writes on this system.

Reply 23 of 39, by silikone

User metadata
Rank Member
Rank
Member

Not a single ISA card that handles Doom better than Quake? Ouch.
Things should look really nasty for the latter with vid_mode 1, though.

Do not refrain from refusing to stop hindering yourself from the opposite of watching nothing other than that which is by no means porn.

Reply 24 of 39, by Scali

User metadata
Rank l33t
Rank
l33t

It's an interesting find, and reminds me of accelerated Amiga 1200 machines.
What we see here is that the 'clever' stuff of Mode X/Y only holds for slower machines. The big win of these modes is that you do not need a backbuffer in system memory, and copy it to the screen every frame. You can just render to a backbuffer in video memory, and flip the display.
That is all fine and good, because you save a lot of bandwidth writing to system memory, at the cost of a little extra overhead for having to toggle the bitplane registers a few times.
However, if you use a very fast machine, writing to system memory becomes a lot cheaper, so you no longer save time there, and the overhead for the bitplane operations remains, and starts working against you.

On Amiga you have a similar issue, because the Amiga uses a memory layout with true bitplanes, up to 8 bitplanes for 256 colour modes. Updating a single pixel requires writing to 8 individual positions in memory.
So instead, what you do is to write to a 'chunky' buffer in system memory, where the pixel bits are grouped together in bytes, just like mode 13h on VGA. You can read and write individual pixels very efficiently in that buffer. Once you're done rendering, you use the CPU to convert the buffer to 8 bitplanes on-the-fly, a process known as chunky-to-planar.
On slow Amigas, this chunky-to-planar was very costly, so generally you'd try to use graphics routines that would map well to the bitmap layout, and where you could use the blitter to accelerate drawing to the bitplanes. But on fast Amigas, doing advanced effects with textures and such was generally faster with chunky-to-planar.

Wolfenstein 3D and DOOM are similar in the sense that they try to exploit the Mode X/Y advantages of the hardware, and the game is specifically designed for that. Quake just 'bruteforces' things, but on the faster hardware, that balanced out better.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 25 of 39, by Scali

User metadata
Rank l33t
Rank
l33t
canthearu wrote:

Notes: Switching this to 16-bit mode, increases performance in quake a significant amount, but doom performance didn't shift. It looks like doom only uses 8-bit writes when writing frames to video memory.

Yes, good observation.
Wolfenstein 3D and DOOM render the screen in vertical columns of 1 pixel wide, because of the way the raycasting algorithm works.
A single pixel is 1 byte, so yes, it only writes bytes.
Quake probably copies the whole framebuffer from system memory to video memory with a bruteforce memcpy() routine like rep movsd or a similar clever thing that uses 32-bit or even 64-bit transfers (on Pentium you have a 64-bit data bus, the most efficient memcpy() there was to read and write with the FPU).

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 26 of 39, by The Serpent Rider

User metadata
Rank l33t++
Rank
l33t++

Wolfenstein 3D and DOOM render the screen in vertical columns of 1 pixel wide, because of the way the raycasting algorithm works.

Doom is not raycaster though.

I must be some kind of standard: the anonymous gangbanger of the 21st century.

Reply 27 of 39, by Scali

User metadata
Rank l33t
Rank
l33t
The Serpent Rider wrote:

Doom is not raycaster though.

It is. It's basically Wolf3D with an added trick to add ceilings and floors, and walls at any angle. It casts rays through a 2D BSP tree.

Edit: actually, this seems to be a very contested issue, and it depends on who you ask.
Bottom line anyway: it renders in vertical columns, similar to Wolf3D, because of the limitations of the rendering algorithm.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 28 of 39, by The Serpent Rider

User metadata
Rank l33t++
Rank
l33t++

I wonder if ISA bus overclocking can improve Doom performance significantly. Surely some cards can work at 16mhz.

I must be some kind of standard: the anonymous gangbanger of the 21st century.

Reply 29 of 39, by Tiido

User metadata
Rank l33t
Rank
l33t

Overclocked ISA significantly improves performance, but you'll have to be careful with some stuff like AWE64 which sooner or later get their PnP EEPROM corrupt (happened to be at 12MHz ISA). I was using a TVGA8900D, it also ran at 16MHz but occasionally showed corrupt graphics so not completely usable then.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 30 of 39, by Baoran

User metadata
Rank l33t
Rank
l33t

Anyone knows if it actually matters what ram speed Tseng ET4000AX card has? I have seen cards with 80ns, 70ns and 60ns ram and I always wondered if it actually matters when it comes to performance.

Reply 32 of 39, by ViTi95

User metadata
Rank Member
Rank
Member

https://youtu.be/InNNSd1peWk

I've included mode 13h support from Heretic (linear.asm) into FastDoom. This mode is 18% faster with my Cyrix Cx486DX (33MHz), which is pretty surprising.

https://www.youtube.com/@viti95

Reply 33 of 39, by pentiumspeed

User metadata
Rank l33t
Rank
l33t

What is is this like with any Trident 1MB 8900C and 1MB 8900D? Keep in mind to make sure the card is set to 16bit mode with zero wait state if available.

Ditto to WD90C30 and WD90C31, but they have to be 1MB cards, what are they like with these as well?

Cheers,

Great Northern aka Canada.

Reply 34 of 39, by The Serpent Rider

User metadata
Rank l33t++
Rank
l33t++
ViTi95 wrote:

This mode is 18% faster with my Cyrix Cx486DX (33MHz), which is pretty surprising.

It's quite noticeably smoother in some scenes. Good job.

I must be some kind of standard: the anonymous gangbanger of the 21st century.

Reply 35 of 39, by rasz_pl

User metadata
Rank l33t
Rank
l33t

How much of the difference is due to vsync? I assume fdoomy is triple buffered and 13h raw non vsynced framebuffer?
Now the question is what were the hardware combinations that really benefitted from mode Y? And was Mode Y an error on ID part? Why would they keep at it for Doom 2?

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 36 of 39, by ViTi95

User metadata
Rank Member
Rank
Member

Vanilla Doom only uses VSync when changing the VGA palette (Trident cards show garbage without this). FastDoom has this disabled, so both Mode Y and Mode 13h have VSync disabled in the comparison. I guess Doom uses Mode Y because of 386 and slow 486 processors and slow ISA VGA cards, as the Mode Y reduces the number of writes to half when writing to vram in low detail mode (160x200). Also I guess this was rushed out as the Doom Press Release Beta uses mode 13h, and some features like the invisible Spectre and player rendering is much faster in mode 13h compared to mode Y, as reading from vram is much slower than reading from main ram. I wish John Carmack could shed some light on this.

https://www.youtube.com/@viti95

Reply 38 of 39, by rasz_pl

User metadata
Rank l33t
Rank
l33t

Yes, what Im getting at is where is the cutoff making mode Y a detriment. I would consider Cyrix Cx486DX 33MHz a slow 486, yet here it is already doing better.

Another interesting experiment you could implement would be 13h low detail mode where you write words at a time to VGA memory and compare that to low detail mode Y.

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 39 of 39, by The Serpent Rider

User metadata
Rank l33t++
Rank
l33t++

Let me get my tinfoil hat - id software were promoting VLB and PCI video cards all along!

I must be some kind of standard: the anonymous gangbanger of the 21st century.