VOGONS


First post, by framebuffer

User metadata
Rank Member
Rank
Member

Hi Falks,

I tested Quake (DOS) in software mode with 36 CPUs from 1996 to 2004 at the most common video resolutions, from 320x200 to 1280x1024 to see what is needed to get 30 and 60 FPS on each one

Test Methodology

Quake has been released on June 22, 1996 and I decided to start from what was the best consumer CPU available at that moment and this means the Pentium i200, released just 12 days before the game, on June 10, 1996.
Having established a starting point, I then checked all the release dates of the various CPU models from 1996 all the way up until the latest Windows 98 compatible ones and then matched them with my CPU collection to see if I could cover all of them. Fortunately the answer was mostly yes. I do miss a specific model here and there, so in the chart you may see that some targets have been reached with a slightly faster CPU than required but other than that I think I covered pretty much all the major (and most significant) releases.

For every system I have disabled all the unnecessary devices, including USB controllers.
The used operating system was a clean install (each time) of Windows 98SE on a 8G SLC-CF card on CF to IDE PCB adapter.
Although I avoided the use of tweaks like FASTVID or MTRRLFBE, because they may not work properly/equally on all the platforms, when I compared my results with others where FASTVID was used I found that they were pretty much aligned, so I guess that the G400 is already using the WCB or whatever else these utilities enable.

Regarding the benchmarks itself, I always started the game from a fresh “Restart in MS-DOS mode” and pre run the demos in order to avoid possible frame drops due to loading.
I run both demo01 and demo03. My initial idea was to run only demo03 because it was a little heavier but then I decide to include also the most commonly used demo01 in order to allow more direct compares. For this reason I consider the target completed if the 30/60 fps are reached in demo01 and not necessarily in both.

320x200

I decided to start with the lowest resolution available, 320x200, which is also the one that most people used to play the game before the release of GLQuake.

q1_320x200.png

Considering that I started the benchmarks from the Pentium 200, which is already good enough to allow more than 40FPS, the 30FPS target is therefore missing in this chart (I guess a Pentium 133 or 166 was the sweet point to get 30FPS in 320x200)
The 60FPS target instead has been reached by the Pentium II 266, on May 1997, almost one year after the relase of the game.
It’s also interesting to note that the Pentium 200MMX allowed a little boost over the original 200, not sure if Quake is using something of the new instructions or is intel that slightly optimized the architecture in the process.

640x480

VGA resolution is already starting to show that things will not be so easy from now on.

q1_640x480.png

The Pentium II 300, released along with the 266, was able to get 30 FPS but we had to wait the Pentium III 800EB until December 1999 to hit the 60 FPS mark, although here I’m pretty sure that a Pentium 3 700/733 (released a couple months before) was already plenty for that but unfortunately I had no one in my possession to include it in the test.
The poor K6-2 450, despite being released along with the other in 1999 is already out of he’s comfort zone here.

800x600

q1_800x600.png

SVGA at 30FPS was already possible in 1998 with the Pentium II 450 but to hit that 60 FPS mark we had to wait the release of the Pentium III 1133EB in mid 2000.
Not much more to note here, except how good was the new K7 architecture from AMD, managing to be 10% faster than the Pentium III Katmai in a clock-to-clock comparison.

1024x768

Here things started to get complicated and improvements were made in smaller and smaller steps

q1_1024x768.png

The 30FPS mark was achieved in December 1999 by the Pentium III 800EB (Coppermine 800/133), which even managed to beat (slightly) the K7 800 (K75, to be precise).
For 60FPS instead, we had to step one year into the new millennium to finally see it in May of 2002 with the second revision of the Pentium 4 (aka Northwood) running at 2.40GHz (512K/533)
In this chart is also possible to glimpse the confusion of the intel transition from Pentium III to Pentium 4 in 2001 along with the poor performances of the early Pentium 4 based on Willamette.
A note of merit goes to the Athlon 1333, which got pretty close to the 60FPS target already in March of 2001!

1280x1024

As predictable, in SXGA things were even more difficult than XGA, and I believe that this is in large part also due to the Matrox G400DH which started to be a bottleneck for all those pixels.

q1_1280x1024.png

Well, 30FPS was not such a big deal and the good Athlon 1200 was already enough in October 2000 to achieve it, but 60 was completely another story.
As you can see, despite all my attempts I was not able to find a CPU capable to get the 60FPS objective and the one that got closer was the Athlon64 3400+ (released in January 2004), with 51.6FPS in demo01 and 52.1 in demo03 (yes, for some reason, starting from Pentium 4 2.40 and AthlonXP 2400+, CPUs became faster in demo03).

Other than the platforms listed in the table above, I also tested two more platforms: socket 939 with AGP amd Socket 775 with AGP.
For the first one I used a MSI K8T Neo2-F based on VIA K8T800 chipset; although this mainboard was on paper fully compatible with Windows98 and had all the drivers for it, in practice it was almost unusable because of issues to properly install the video card drivers; when I eventually managed to install them, even if I was using an Athlon 64 3700+ I was getting around 20FPS in 1280x1024, so clearly something was still not working properly.
I then switched to my last option, the ASUS P5PE-VM with LGA775 Socket, based on i865G chipset with support up to Core2Duo E6xxx CPUs.
Installation was straight forward and there were no issues with drivers but every CPU I tried scored exactly 49.8FPS and I was not able, at least in a reasonable time, to figure out exactly why.
At this point I was benchmarking CPUs with Quake for over a month and I decided to conclude the project with what I had and postpone everything else I may find for a follow up.

My blog/site with some more info (intro/conclusions, tables and pictures): https://framebuffer.io/project/quake
Youtube video featuring the most relevant results: https://www.youtube.com/watch?v=5r53B32YOdQ

Let me know your thought and any suggestions to get that 60 FPS at 1280x1024 is more than welcome of course 😉

Windows 98 and SAMBA | Quake CPU Benchmarks | GeForce2: GTS vs MX400

Reply 1 of 5, by Joseph_Joestar

User metadata
Rank l33t
Rank
l33t

Hate to break it to you since you ran so many tests already, but patch v1.08 improves Quake performance even further.

It appears that you ran your tests on v1.06.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy2
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 2 of 5, by framebuffer

User metadata
Rank Member
Rank
Member
Joseph_Joestar wrote on 2021-07-03, 13:02:

Hate to break it to you since you ran so many tests already, but patch v1.08 improves Quake performance even further.

It appears that you ran your tests on v1.06.

hehe no problem I used 1.06 consciously, doubt the 1.08 will revolutionize everything but if there are performance improvements I will use it in the follow up
It's also possible that a different video card would give slightly better results overall, my tests are far from pretending to be a final reference for Quake sw-mode performance 😉

Windows 98 and SAMBA | Quake CPU Benchmarks | GeForce2: GTS vs MX400

Reply 3 of 5, by Surrat

User metadata
Rank Newbie
Rank
Newbie

This was very cool!

I have been playing around with Quake1 over the last week on my Micron big tower with P2 350 and G400max.
I have a P2 400 on the way for it, and your benchmarks give me something to compare to when it arrives.

I also tested a fresh install of 1.08, then GLQuake, and although it works, the audio goes dead.
Not sure whats wrong there, maybe quake doesnt get along with the onboard yamaha sound chip.

Reply 4 of 5, by pentiumspeed

User metadata
Rank l33t
Rank
l33t

Might want to squeeze in a socket 754 with SiS chipset with Athlon 64 3000+ (estimated 2GHz).

And might want to see one or two CPU quake benchmark with 3D acceleration GPU card? Not the 3Dfx. Try Geforce2MX 400, Geforce2 GTS and Geforce4 MX440 also Geforce4 Ti? Also FX5600?

Cheers,

Great Northern aka Canada.

Reply 5 of 5, by framebuffer

User metadata
Rank Member
Rank
Member
Surrat wrote on 2021-07-04, 17:45:
This was very cool! […]
Show full quote

This was very cool!

I have been playing around with Quake1 over the last week on my Micron big tower with P2 350 and G400max.
I have a P2 400 on the way for it, and your benchmarks give me something to compare to when it arrives.

I also tested a fresh install of 1.08, then GLQuake, and although it works, the audio goes dead.
Not sure whats wrong there, maybe quake doesnt get along with the onboard yamaha sound chip.

If you can do few runs with the G400MAX would be very helpful, one of my ideas to squeeze some more performance is to use the MAX instead of the DH, in the hope that the memory clock can make some difference

pentiumspeed wrote on 2021-07-04, 20:06:

Might want to squeeze in a socket 754 with SiS chipset with Athlon 64 3000+ (estimated 2GHz).

And might want to see one or two CPU quake benchmark with 3D acceleration GPU card? Not the 3Dfx. Try Geforce2MX 400, Geforce2 GTS and Geforce4 MX440 also Geforce4 Ti? Also FX5600?

Cheers,

Athlon64 (socket 754) is indeed been tested, model 3200+ and 3400+ 😉

The whole purpose of my project is to test CPU performance with software rendering, 3D acceleration is of course another story

Windows 98 and SAMBA | Quake CPU Benchmarks | GeForce2: GTS vs MX400