VOGONS


Reply 420 of 987, by vlask

User metadata
Rank Member
Rank
Member
ViTi95 wrote on 2022-02-02, 10:09:

Also, can you test Plantronics mode on the PVC2 card? There aren't much Plantronics cards out there, so any testing is welcome.

13,295 FPS via FDOOMPCP.exe

Tested also:
13,127 FPS - Genoa GN006001-A 256kB EGA ISA8b 1987
42,15 FPS - RAM MCG2502 16kB CGA ISA8b 198?
22 FPS - RAM MCG2502 16kB Plantronics ISA8b 198?
9,009 FPS - NSI Logic EVC-315S 256kB EGA ISA8b 1987

Not only mine graphics cards collection at http://www.vgamuseum.info

Reply 421 of 987, by vlask

User metadata
Rank Member
Rank
Member

Ok just finished my little testing, results are here. Tested almost all mine pre vga cards capable to run on my testing Athlon XP (sorry no IBM EGA, that works only on 486 test board). Plus few vga cards.
Fastest on 8bit ISA cards are CGA modes. Then follows Hercules cards with around 18FPS with some falling to 15FPS. Fastest VGA got 15FPS, but ATi is only at 10FPS. Slowest of them all are EGA cards maxing at 13FPS and goin down to 8FPS.

Difference between ISA 8bit and 16bit is clearly visible with ATI chipset. ATI VGA88 got 10FPS, 8bit paradise card 15FPS, but VGA EDGE on same 18800 ati chipset, but on 16bit ISA got 22FPS.

Attachments

  • fdoom.png
    Filename
    fdoom.png
    File size
    23.81 KiB
    Views
    2212 views
    File comment
    results
    File license
    Public domain

Not only mine graphics cards collection at http://www.vgamuseum.info

Reply 422 of 987, by ViTi95

User metadata
Rank Member
Rank
Member

Pretty interesting results, all comes down to how much data is transferred via ISA bus (and bus bandwidth). After analyzing your results I decided to do some testing on a fast 486 (an Overdrive DX4-100 with a fast ISA Cirrus Logic GD-5429), and observed that the CGA mode was faster than both VGA mode 13h and mode Y. This result blows my mind, even having to do the conversion from the 256 color backbuffer to the CGA format (packed colors and even/odd scanlines), is just faster due to transferring less data over the bus.

Now I understand why text modes are so fast, not only due to the lower resolution, but because the data transfered over the bus is way smaller.

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

Reply 423 of 987, by ishadow

User metadata
Rank Newbie
Rank
Newbie
ViTi95 wrote on 2022-02-09, 11:28:

observed that the CGA mode was faster than both VGA mode 13h and mode Y. This result blows my mind, even having to do the conversion from the 256 color backbuffer to the CGA format (packed colors and even/odd scanlines), is just faster due to transferring less data over the bus.

On fast machines where ISA bus is the only bottleneck, you could improve FPS in CGA mode by updating only parts of the screen that changed between frames.
To do this you should keep previous CGA frame in RAM and when building new one from 256 color framebuffer you should compare 2,4 or 8 byte chunks for changes. If change is small, like 8 or less bits in a 32 bit string, then leave the old one. When change is big, update it (by creating list of chunks to update).

This is similar to how early lossy compression algorithms worked and should be especially effective for CGA with only 4 colors. That way you could save 15-90% of ISA bandwidth depending on scene.
Of course it would require even more work on CPU and main RAM side, but it shouldn't be a problem for 200+ MHz CPUs. Such algorithm should allow for dynamic level of detail. For example it could try to be lossless at first, but if number of updates would excess ISA bus limit, then it could start to increase lossy difference in chunks.

It should be possible to get stable full 35 fps on CGA on fast CPU, but with image artifacts. However such artifacts might even look cool.

Reply 425 of 987, by ViTi95

User metadata
Rank Member
Rank
Member

It's already get possible to get more than 35 fps with a CGA card. I've tested some of my CGA cards (ISA 8-bit) and most of them are able to transfer about 800kb/s. A single fullscreen frame in CGA 320x200 (4 color) mode uses 15.625 Kb, so maximum theoric frame rate is about 51 fps. Anyway it's better to play the game in the CGA 160x100 mode, as 4 colors aren't enough to play Doom well. That situation is even better, in that case it's only required to transfer 7,8125 Kb per frame. That gives us a maximum theorical of 102fps. I've tested both cases with a very fast CPU (a K6-2 550MHz) and both cases were really close to the estimated maximum fps.

Anyway as appiah4 said, it's rather uncommon to have a CGA card with a 200+ MHz CPU, except if you wan't to proove that CGA cards aren't that slow. For me, the only real benefit here using CGA cards is the 160x100 mode with slower cpus.

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

Reply 428 of 987, by AirIntake

User metadata
Rank Member
Rank
Member

I guess my question really was "does FastDoom take the fixed Doom render resolution and then scale it for the special FastDoom resolutions, or can FastDoom scale the Doom render resolution itself up", thanks for the answer!

Casio BE-300 Advancement Society alumni

Reply 429 of 987, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

But I want the specific 512x384 Vesa mode that was somehow almost as fast as mode X in quake on my ratty weird 5x86 setup with a hacked up GL5429 back in 1996. 😜

I'm kinda joking but not, I need to revisit that sometime and try to figure out why that one particular vesa mode was faster than the others on the Cirrus Logic 542x pixel slingers... (not quite sure of the dimensions but it was one of the weird ones like that)

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 430 of 987, by ViTi95

User metadata
Rank Member
Rank
Member
AirIntake wrote on 2022-02-16, 23:28:

I guess my question really was "does FastDoom take the fixed Doom render resolution and then scale it for the special FastDoom resolutions, or can FastDoom scale the Doom render resolution itself up", thanks for the answer!

Yes, it's possible to scale the renderer to other resolutions, the Doom engine supports it, but I haven't tested resolutions higher than 320x200 in FastDoom. The main problem with resolutions different than 320x200 is that the HUD nor any of the 2D graphics are prepared for other resolutions, and that requires extra coding (and scaling which it's slow). FastDoom uses this for text modes, rendering in a much smaller resolution, and all the 2D elements had to be rewritten from scratch.

BitWrangler wrote on 2022-02-17, 05:41:

But I want the specific 512x384 Vesa mode that was somehow almost as fast as mode X in quake on my ratty weird 5x86 setup with a hacked up GL5429 back in 1996. 😜

I'm kinda joking but not, I need to revisit that sometime and try to figure out why that one particular vesa mode was faster than the others on the Cirrus Logic 542x pixel slingers... (not quite sure of the dimensions but it was one of the weird ones like that)

I'm developing a new benchmark for video cards to discover those special cases (https://github.com/viti95/V95bench), there are some weird cards that are faster or slower depending on the video mode selected. Cirrus Logic 542x are somewhat special, for example the VLB cards don't support natively 32-bit transfers, the performance is exactly the same as using 16-bit transfers (each 32-bit transfer is divided onto two 16-bit transfers internally). They're faster just because the VLB bus is running at more frequency compared to the ISA bus.

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

Reply 431 of 987, by AirIntake

User metadata
Rank Member
Rank
Member
BitWrangler wrote on 2022-02-17, 05:41:

But I want the specific 512x384 Vesa mode that was somehow almost as fast as mode X in quake on my ratty weird 5x86 setup with a hacked up GL5429 back in 1996. 😜

I'll always remember 512x384 as the weird-ass pseudo-SVGA resolution that MechWarrior 2 for the ATI 3D Rage used. Because the 3D Rage was too damn slow to do actual SVGA.

Casio BE-300 Advancement Society alumni

Reply 432 of 987, by rasz_pl

User metadata
Rank l33t
Rank
l33t

also optimal Voodoo1 quake resolution. ~200K pixels was a good compromise between 320x200 (64K) everything is a big pixel and dreamy 640x480 (300K).

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

Reply 434 of 987, by Nemo1985

User metadata
Rank Oldbie
Rank
Oldbie

Hello, I'm trying the latest fast doom version, I'd like to have the vanilla status bar, I tried to use -normalstatusbar switch but it doesn't change, is it a bug or a feature?
Is there a way to have the vanilla status bar on the bottom?

Thanks

Reply 435 of 987, by ViTi95

User metadata
Rank Member
Rank
Member
Nemo1985 wrote on 2022-02-18, 12:04:

Hello, I'm trying the latest fast doom version, I'd like to have the vanilla status bar, I tried to use -normalstatusbar switch but it doesn't change, is it a bug or a feature?
Is there a way to have the vanilla status bar on the bottom?

Thanks

Can you upload a screenshot? What IWAD version are you using? Only 1.9 versions are supported, earlier ones are not supported and causes issues with the status bar. Or maybe you can try to change the screen size and see if it appears. Also FastDoom text modes doesn't support the classic status bar (for obvious reasons)

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

Reply 436 of 987, by Nemo1985

User metadata
Rank Oldbie
Rank
Oldbie
ViTi95 wrote on 2022-02-18, 12:23:
Nemo1985 wrote on 2022-02-18, 12:04:

Hello, I'm trying the latest fast doom version, I'd like to have the vanilla status bar, I tried to use -normalstatusbar switch but it doesn't change, is it a bug or a feature?
Is there a way to have the vanilla status bar on the bottom?

Thanks

Can you upload a screenshot? What IWAD version are you using? Only 1.9 versions are supported, earlier ones are not supported and causes issues with the status bar. Or maybe you can try to change the screen size and see if it appears. Also FastDoom text modes doesn't support the classic status bar (for obvious reasons)

My bad I'm using the shareware version (it's in the benchmark pack v1.9), any chance to get the support?

Last edited by Nemo1985 on 2022-02-18, 12:53. Edited 1 time in total.

Reply 437 of 987, by ViTi95

User metadata
Rank Member
Rank
Member

The shareware IWAD is supported (version 1.9). It has to be renamed though:

* DOOM.WAD -> DOOM Registered (3 episodes)
* DOOM1.WAD -> DOOM Shareware (1 episode)
* DOOMU.WAD -> Ultimate DOOM (4 episodes)
* DOOM2.WAD -> DOOM II
* PLUTONIA.WAD -> Final DOOM The Plutonia Experiment
* TNT.WAD -> Final DOOM TNT Evilution

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

Reply 438 of 987, by Nemo1985

User metadata
Rank Oldbie
Rank
Oldbie

Thank you for the clarification.
I found the issue:
The setting for the full screen (without any hud) for vanilla doom is: screenblocks 11, while for fastdoom to do not have the hud the setting must be 12.
I just created 2 different cfg with just this different setting.

Reply 439 of 987, by ViTi95

User metadata
Rank Member
Rank
Member

New release! FastDoom 0.8.10:

Changelog:

  • Added new video modes, EGA cards also deserve some love
    - FDOOME16.EXE => FastDoom EGA 160x100
    - FDOOME36.EXE => FastDoom EGA 80x100 (122 pseudocolors)
    - FDOOMT43.EXE => FastDoom 80x43 16 colors text mode (only EGA cards)
    - FDOOMT86.EXE => FastDoom 80x43 16 colors text mode (virtual resolution of 80x86, only EGA cards)
  • Multiple optimizations for special backbuffered modes
  • Better colormaps / palettes for black&white modes, and 16 color dithered modes
  • Removed FDOOMV.EXE, the scaling was horrible and didn't look good at all
  • Revert custom palette for VGA 160x100 mode. The attribute controller requires the display to go blank to change each color association. Not doing this causes some random screen glitches while changing the palette (which I haven't been able to solve, since the hardware works this way). VGA 256 color mode doesn't have this problem

Download: https://github.com/viti95/FastDoom/releases/tag/0.8.10

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