VOGONS


First post, by drosse1meyer

User metadata
Rank Member
Rank
Member

Hi All

I've been messing around with my P3 and noticed what I think is relatively poor and/or inconsistent opengl performance in Unreal.

Specs: 1 ghz, 100 mhz fsb, Geforce2 Pro 64 mb, 384 mb ram, Windows XP

With original unreal +227i patch, I would get maybe 55-57 FPS when running in 1024x768. Vsync is turned off. Turning down the res results in a slight FPS bump but not by much.

What's crazy is when I search old sites for benchmarks they get like 100+ FPS? WTF? See https://www.anandtech.com/show/678/4 ... I know, they are using a different CPU (Thunderbird 1.1GHz), but their CPU+GPU combos aren't THAT far off from what I'm running, and I don't see the FPS or res scaling either.

If I install the 226 patch then use the opengl file from OMP-226, I can get FPS in the 70s. Still, there isn't much gain from lowering the res.

Finally, nvidia drivers are all over the place; using a super old uncertified win2k version seems to yield the best results (7.something, but 46.x isn't bad either).

Is there a better combination of patch versions / opengl dll / nvidia drivers that would be optimal? Or is something up with my config/ build? Maybe winxp is the problem? I get around 190 fps in q2 @1024. Havent installed any more games else since I reimaged this SD card though.

Thanks

P1: Packard Bell - 233 MMX, Voodoo1, 64 MB, ALS100+
P2-V2: Dell Dimension - 400 Mhz, Voodoo2, 256 MB
P!!! Custom: 1 Ghz, GeForce2 Pro/64MB, 384 MB

Reply 1 of 17, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Have you tried older versions of Unreal?
Tried 16bit vs 32bit?
I remember back in the day running Unreal with UT, instructions are probably around here somewhere.

Last edited by DosFreak on 2022-12-07, 02:41. Edited 3 times in total.

How To Ask Questions The Smart Way
Make your games work offline

Reply 2 of 17, by The Serpent Rider

User metadata
Rank l33t++
Rank
l33t++

Default render for UT is Direct3D. So no detailed textures, which can eat a lot of texel performance.

Last edited by The Serpent Rider on 2022-12-07, 02:40. Edited 1 time in total.

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

Reply 6 of 17, by drosse1meyer

User metadata
Rank Member
Rank
Member
DosFreak wrote on 2022-12-07, 02:33:

Have you tried older versions of Unreal?
Tried 16bit vs 32bit?
I remember back in the day running Unreal with UT, instructions are probably around here somewhere.

Haven't tried older than 226. Maybe it's worth a try. Correct, 16bit

Warlord wrote on 2022-12-07, 02:39:

that site said they were using 6.xx drivers, rumor has it the lower driver version the better FPS with old games on old cards. Bugs come with newer games though so thats something to think about.

I can try messing with even more archaic drivers. Judging by readme files it seems like 5.16 is the earliest the Geforce2 GTS shows up. Point taken about potential bugginess. Honestly I should probably stick with something that plays much nicer with XP, or use 98 instead. A few FPS isn't going to kill me but I go down a rabbit hole trying to figure these things out 🤣.

P1: Packard Bell - 233 MMX, Voodoo1, 64 MB, ALS100+
P2-V2: Dell Dimension - 400 Mhz, Voodoo2, 256 MB
P!!! Custom: 1 Ghz, GeForce2 Pro/64MB, 384 MB

Reply 8 of 17, by drosse1meyer

User metadata
Rank Member
Rank
Member
Putas wrote on 2022-12-07, 11:51:

1 GHz Pentium with 100 MHz FSB - is it mobile one?

No its a desktop CPU

P1: Packard Bell - 233 MMX, Voodoo1, 64 MB, ALS100+
P2-V2: Dell Dimension - 400 Mhz, Voodoo2, 256 MB
P!!! Custom: 1 Ghz, GeForce2 Pro/64MB, 384 MB

Reply 10 of 17, by drosse1meyer

User metadata
Rank Member
Rank
Member
Putas wrote on 2022-12-07, 14:14:

Upping the FSB speed might be of help then.

Yeah I think it would help, opted for the 100 mhz version because a while back i was trying to get it working in a slocket / 440bx. Not sure i have any 133 sdram either, need to look around. Also the bios is oem locked so not much tweaking can be done.

P1: Packard Bell - 233 MMX, Voodoo1, 64 MB, ALS100+
P2-V2: Dell Dimension - 400 Mhz, Voodoo2, 256 MB
P!!! Custom: 1 Ghz, GeForce2 Pro/64MB, 384 MB

Reply 11 of 17, by drosse1meyer

User metadata
Rank Member
Rank
Member

The FSB comment spurred me to check some other things. It looks like one of these ram sticks is CL3 which the rest are 2. Swapped out and now i get about almost a 10% increase in FPS believe it or not. Unreal is now at about 84 fps. Still not quite as fast as the review sites so the investigation continues!

P1: Packard Bell - 233 MMX, Voodoo1, 64 MB, ALS100+
P2-V2: Dell Dimension - 400 Mhz, Voodoo2, 256 MB
P!!! Custom: 1 Ghz, GeForce2 Pro/64MB, 384 MB

Reply 13 of 17, by drosse1meyer

User metadata
Rank Member
Rank
Member
Putas wrote on 2022-12-08, 14:28:

If they work at 100 MHz CL2 I would try 133 MHz CL3 or whatever you have in between. If that works why not push further...

not sure i can. its an intel 815 board but Gateway OEM bios. dont think there is any way for me to force the FSB.

P1: Packard Bell - 233 MMX, Voodoo1, 64 MB, ALS100+
P2-V2: Dell Dimension - 400 Mhz, Voodoo2, 256 MB
P!!! Custom: 1 Ghz, GeForce2 Pro/64MB, 384 MB

Reply 14 of 17, by drosse1meyer

User metadata
Rank Member
Rank
Member

OK so, I think there are a few factors at play here.

1 - These benchmarks may be performed with no sound. This makes a significant difference in Q3A (30 fps for me). Unreal, less so, maybe 7 FPS.

2 - I've installed Win98 SE on another SD card and tried all manner of older driver versions etc. The best results are very comparable to what I'm getting in XP.

So as others mentioned, it could very well a bottleneck beause of the CPU and/or FSB.

Other benchmarks I've found-- if you watch this guys GF2 Pro repair video https://youtu.be/ygvR_2Jsb84 (check near 25:15), he's using 700 mhz overclocked to 933 (7*133 fsb), I believe (hard to hear what he's saying), and gets ~150 fps in quake3. For comparison, I can barely get 84 with the same settings; w/ sound disabled that bumps up to ~112. I'm not sure if the FSB difference will give me 40 more fps, but who knows. My 3d marks are higher than his too.

I'll go ahead and seek out a cheap 1000/133 etc. to compare.

P1: Packard Bell - 233 MMX, Voodoo1, 64 MB, ALS100+
P2-V2: Dell Dimension - 400 Mhz, Voodoo2, 256 MB
P!!! Custom: 1 Ghz, GeForce2 Pro/64MB, 384 MB

Reply 16 of 17, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie
leileilol wrote on 2022-12-10, 08:33:

you're not crazy. 227's the "win98 unofficial service pack by problvmchvld" of patches and didn't exist in 2000.

I second this, if you want a real benchmark you should use either 224 or 225f.

UTGLR won't really get you much anywhere because a LOT of Unreal's rendering is strictly CPU tied, and also a lot of it thrashes texture memory uploads every single frame ontop of this.

I once had a map I did as a art project of sorts where every single texture used in the map shared one common palette. There were very little if at all any dynamic lights or Fire.dll textures and the performance (including the CPU usage) was surprisingly different than a typical Unreal map. The complexity of the map's BSP tree and how many potentially visible zones there are can also destroy performance as that's all handled in CPU land.

The default OpenGL will only work on very specific drivers and suffers from the infamous GL_EXTENSIONS buffer overflow crash which Unreal itself can't even properly catch. (Using UTGLR is exempt from this but you can only compile it against 224 or 226 public headers)

A lot of things to consider when judging performance:
1: Unreal was heavily designed around 3Dfx Glide, especially on Voodoo 2 cards at the time.
2: Unreal's model format is hilariously inefficient and wasteful, the act of rendering a mesh has quite a CPU hit due to how the format was poorly written.
3: Fire.dll based textures are CONSTANTLY, EVERY FRAME uploaded to VRAM. And these textures are created purely in software prior to upload.
4: Mirrors are additional viewports that effectively double the operations being performed to render anything to begin with. Same goes for any "WarpZone" portals.
5: The more palette objects being used currently in the scene, the performance will ever so slightly worsen.
6: "Volumetric Lighting" can completely destroy performance if it's trying to cover a area with a significantly high res lightmap available to it and if the BSP in the area is terrible.
7: DT_Sprite actors (especially anything DT_Mesh with bParticles set to "true") also destroy performance, as does excessive Canvas operations. (Just try looking at the server browser that UBrowser added and make sure it's set to the "All Servers" tab, watch the CPU usage skyrocket!)

I don't think Unreal, even Unreal Gold and the completely stupid 226f patch that breaks compatibility between it and retail copies ever made use of SSE anywhere. Unreal will say it detects KNI but I have no clue if there's anything in Render.dll that'd try to use KNI. As far as I know there's MMX and 3DNow! optimizations but nothing else.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 17 of 17, by drosse1meyer

User metadata
Rank Member
Rank
Member
DracoNihil wrote on 2022-12-10, 12:00:
I second this, if you want a real benchmark you should use either 224 or 225f. […]
Show full quote
leileilol wrote on 2022-12-10, 08:33:

you're not crazy. 227's the "win98 unofficial service pack by problvmchvld" of patches and didn't exist in 2000.

I second this, if you want a real benchmark you should use either 224 or 225f.

UTGLR won't really get you much anywhere because a LOT of Unreal's rendering is strictly CPU tied, and also a lot of it thrashes texture memory uploads every single frame ontop of this.

I once had a map I did as a art project of sorts where every single texture used in the map shared one common palette. There were very little if at all any dynamic lights or Fire.dll textures and the performance (including the CPU usage) was surprisingly different than a typical Unreal map. The complexity of the map's BSP tree and how many potentially visible zones there are can also destroy performance as that's all handled in CPU land.

The default OpenGL will only work on very specific drivers and suffers from the infamous GL_EXTENSIONS buffer overflow crash which Unreal itself can't even properly catch. (Using UTGLR is exempt from this but you can only compile it against 224 or 226 public headers)

A lot of things to consider when judging performance:
1: Unreal was heavily designed around 3Dfx Glide, especially on Voodoo 2 cards at the time.
2: Unreal's model format is hilariously inefficient and wasteful, the act of rendering a mesh has quite a CPU hit due to how the format was poorly written.
3: Fire.dll based textures are CONSTANTLY, EVERY FRAME uploaded to VRAM. And these textures are created purely in software prior to upload.
4: Mirrors are additional viewports that effectively double the operations being performed to render anything to begin with. Same goes for any "WarpZone" portals.
5: The more palette objects being used currently in the scene, the performance will ever so slightly worsen.
6: "Volumetric Lighting" can completely destroy performance if it's trying to cover a area with a significantly high res lightmap available to it and if the BSP in the area is terrible.
7: DT_Sprite actors (especially anything DT_Mesh with bParticles set to "true") also destroy performance, as does excessive Canvas operations. (Just try looking at the server browser that UBrowser added and make sure it's set to the "All Servers" tab, watch the CPU usage skyrocket!)

I don't think Unreal, even Unreal Gold and the completely stupid 226f patch that breaks compatibility between it and retail copies ever made use of SSE anywhere. Unreal will say it detects KNI but I have no clue if there's anything in Render.dll that'd try to use KNI. As far as I know there's MMX and 3DNow! optimizations but nothing else.

OK I appreciate the info. Perhaps a different game would be better to benchmark overall performance then 🤣.

I have a $10 1000/133 CPU on the way so I'll see if anything changes and report back. And also try older versions as recommended.

P1: Packard Bell - 233 MMX, Voodoo1, 64 MB, ALS100+
P2-V2: Dell Dimension - 400 Mhz, Voodoo2, 256 MB
P!!! Custom: 1 Ghz, GeForce2 Pro/64MB, 384 MB