VOGONS


First post, by boblo

User metadata
Rank Newbie
Rank
Newbie

I have a laptop with a 900mhz Pentium 3 Mobile (with MMX), and when I open some games with CPU requirements way below that the CPU gets almost maxed out and the fans spin like crazy.

Some examples:
Rollercoaster Tycoon Deluxe: Recommended Pentium 200MHZ with MMX, Minimum 90MHZ Pentium. Runs at 98% CPU usage.
SimCity 3000 Unlimited: Recommended Pentium 233MHZ. Runs at 90% CPU usage.
Tony Hawk's Pro Skater 2: Minimum Pentium 233MHZ with MMX for hardware mode. Runs at 95% CPU usage in the in the start menu and in game.
Diablo: Recommended Pentium 60MHZ. Runs at 90% CPU usage.

I'm stumped as to why these use so much of the CPU and why it gets so hot when the requirements are way below the CPU in the laptop.

I've tried using CpuSpd with the throttle option set between 2/8 and 4/8 (e.g. cpuspd t4). While the fan ramps down but CPU usage stays high, and for some reason throttle gets reset to 8/8 randomly every few minutes and always goes back to 8/8 when pressing the volume buttons (not when changing the volume in Windows though).

The laptop is a Dell Inspiron 8000 with 256mb ram (I also tried with 128mb) and an nVidia Geforce2 Go 16mb running Windows 98SE. I'm using Process Explorer 11.02 to see the CPU usage, and the fans spin up as high as they go when it isn't open as well, so i assume they're still using a ton of the CPU.

Sorry for the wall of text.

Reply 1 of 15, by leileilol

User metadata
Rank l33t++
Rank
l33t++

Requirements != how much it'll use the CPU. They're more a guideline (especially regarding technical support).

apsosig.png
long live PCem

Reply 2 of 15, by boblo

User metadata
Rank Newbie
Rank
Newbie

Well yeah, but Diablo and RCT have minimum system requirements an order of magnitude slower than the laptop’s CPU. Surely something’s wrong if they’re using almost all of the CPU and making it emit so much heat.

And that’s with both games on a new/blank save.

Reply 3 of 15, by donluca4

User metadata
Rank Newbie
Rank
Newbie

This is something I've noticed myself as well: all the games I play peg the CPU no matter what, which is really annoying.

I wonder if it's because they have unlocked framerate so they try to run as fast as possible even if they're limited to by an internal timer.

I also think this is the reason why games stutter when playing Audio CD from a CD image mounted into Daemon's Tools.

Really need to open a dedicated thread for that because it's an issue that really bugs me and want to see squashed.

Reply 4 of 15, by darry

User metadata
Rank l33t++
Rank
l33t++
donluca4 wrote on 2025-05-24, 09:21:

This is something I've noticed myself as well: all the games I play peg the CPU no matter what, which is really annoying.

I wonder if it's because they have unlocked framerate so they try to run as fast as possible even if they're limited to by an internal timer.

I believe the absence of a framerate limiting mechanism might at least partially explain it, at least in some cases.

But whatever it is, if we look at it from an even more general point of view, AFAIU, if software is not explicitly designed to constrain itself, it can and will use as much CPU cycles as it can (or as much as the OS will let it). Again, AFAIU, this was never really that problematic in the pre-multitasking and pre-multithreading era, so probably it was not a major design consideration. This has, of course, been seen differently in more recent years, because of the awareness of multithreading/multitasking, power efficiency/management and ever increasing CPU clocks potentially causing code to break.

I also think this is the reason why games stutter when playing Audio CD from a CD image mounted into Daemon's Tools.

If you mean that the sound stutters, I can only guess at what could cause that without more details, but I would think that that a multitasking and multithreaded OS should and would try to constrain resource hogs from causing something like that issue. One possibly useful datapoint one this would be to play an audio CD image outside of a game, then apply variable synthetic loads of some kind on the CPU and see when/if audio starts breaking.

If you mean that the game itself stutters, when playing back an audio CD image, comparing behavior with CD audio playback disabled in-game (if game allows it) and/or with an actual physical audio CD might useful datapoints.

Really need to open a dedicated thread for that because it's an issue that really bugs me and want to see squashed.

From a functional point of view, if software breaks due to running on too fast a CPU (speed sensitivity), IMHO, either downclocking or otherwise slowing the CPU (several methods exist for this), patching the software or possibly using OS level process scheduling manipulations (if applicable or even possible) are potential options. Forcing a locked framerate (internally or externally) in games might also work for games under Windows, depending on the game

If the concern is more about oddly high CPU load (i.e. the game runs maxed out on a 200 MHz CPU but still loads a 1400 MHz one, for example), regardless of something breaking or not with a faster CPU, outside of process scheduling manipulations in the OS (AFAICR, some software may not like that) or framerate locking, I don't see many things to try other than perhaps running in an emulator instead.

Please feel free to correct any misconceptions or logical flaws in the above.

Reply 5 of 15, by donluca4

User metadata
Rank Newbie
Rank
Newbie

Your explanation makes perfect sense.

About the stutter: we were talking about it in this thread Re: DaemonTools No CD Audio

What happens is that if no CD Audio is playing, game is perfectly smooth.

If CD Audio is playing, there will be tiny stutters at regular intervals.

Those stutters were more evident when loading the ISO from my CF Card (which has 1.5MB throughput) but are definitely less noticeable (to the point of being almost completely gone) when the ISO is on the hard disk.
I think that there are two issues at hand, one is bandwidth and the other might be scheduling.
Playing the CD Audio alone in Windows does use a small amount of CPU and if the game is pegging the CPU then it makes sense that the game will stutter as it will have to bounce back and forth with Daemon Tools to load data in order to play the CD Audio track.

Anyway, that's for another topic I'll open at some point after I've done some more proper research.

Reply 6 of 15, by the3dfxdude

User metadata
Rank Oldbie
Rank
Oldbie

Since you are using an old laptop (but much newer CPU than the game is designed for) and old OS, you could switch to a better OS. But I suppose, look at this for some ideas:
http://www.benchtest.com/cooler.html

That page was talking about overclocking, but maybe it could help a little idling the CPU on your laptop whenever there is a chance. But this is dependent on the game. Laptops weren't really meant for gaming. Then, and still somewhat now. Old game + new CPU & laptop is kind of asking for cooking your lap. I have people regularly complaining to me that they think an old game is ruining their laptop because how hot their laptop gets. The games you mentioned were written for the hardware and OS of the day, so stepping outside of that you'll see the consequences.

Reply 7 of 15, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie

Do you have the Intel Speedstep utility (the thing with the checkered flag icon)? Mobile Pentium III 900 can probably switch to a low power mode with 500 or 600MHz, and lower voltage.

GBAJAM 2024 submission on itch: https://90soft90.itch.io/wreckage

Reply 8 of 15, by donluca4

User metadata
Rank Newbie
Rank
Newbie
bakemono wrote on 2025-05-24, 15:20:

Do you have the Intel Speedstep utility (the thing with the checkered flag icon)? Mobile Pentium III 900 can probably switch to a low power mode with 500 or 600MHz, and lower voltage.

I don't because I've disabled speedstep and used CPUSPD to manage the multiplier while maintaining the lower P-State: lower power consumption and cool laptop!
More info here: Windows 98SE on a Dell Latitude X300

And changing the CPU speed didn't change anything of course.

Reply 9 of 15, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

Since Diablo was mentioned explicitly and the source code is (practically) available, a definitive answer is possible: it has no idle loop. When there's nothing for it to do, it just keeps polling the system's clock (via GetTickCount() ).
This was fixed simply in the Diablo decompilation/recreation project Devilution by adding a Sleep call: https://github.com/diasurgical/devilution/blo … diablo.cpp#L387

Reply 10 of 15, by boblo

User metadata
Rank Newbie
Rank
Newbie
bakemono wrote on 2025-05-24, 15:20:

Do you have the Intel Speedstep utility (the thing with the checkered flag icon)? Mobile Pentium III 900 can probably switch to a low power mode with 500 or 600MHz, and lower voltage.

I’ll have a look into this.

Also I found a thread on the Vintage Computer Federation forums saying that the 900mhz Pentium III runs very hot in this laptop (100 degrees they said, though I couldn’t find a way to measure mine). I found out there’s a 500mhz version of the CPU I could buy and swap in if I can’t find anything that works.

I’ll also look into Devilution.

Reply 11 of 15, by boblo

User metadata
Rank Newbie
Rank
Newbie

I found out that if my Inspiron 8000 runs the CPU at 700mhz if it’s booted up while not plugged in and runs at 900mhz when it boots while plugged in. The MHz never changes after booting.

That is so dumb.

I guess that’s a temporary solution.

Also Speedstep isn’t supported.

Something I’m not sure I should have done is reinstall windows with setup /p j to force ACPI. Nothing bad has happened, I just should have looked for other possible solutions first.

Reply 12 of 15, by boblo

User metadata
Rank Newbie
Rank
Newbie
boblo wrote on 2025-05-25, 05:56:

Nothing bad has happened, I just should have looked for other possible solutions first.

I spoke too soon. The volume buttons now type b and c.

Reply 13 of 15, by boblo

User metadata
Rank Newbie
Rank
Newbie

I found what could be a solution, but I haven’t tested it for long. It’s a program called “Battle Encoder Shirasé” (BES), which you can use to set a limit on the amount of the CPU a program can use.

I found BES 1.2.2 on an archive of the old download site on the Wayback Machine, and needed to install KernelEX to get it to work.

The way you set the limit is a bit weird. Instead of inputting the max percentage of the CPU a program can use, the number you input is subtracted from 100, then the result of that is the max percent that the program can use.

Reply 14 of 15, by Harry Potter

User metadata
Rank Oldbie
Rank
Oldbie

Maybe the program doesn't put the microprocessor in stand-by mode but rather performs an infinite loop until a key press is entered.

Joseph Rose, a.k.a. Harry Potter
Working magic in the computer community

Reply 15 of 15, by boblo

User metadata
Rank Newbie
Rank
Newbie
Harry Potter wrote on 2025-05-26, 12:00:

Maybe the program doesn't put the microprocessor in stand-by mode but rather performs an infinite loop until a key press is entered.

Yeah I think that’s what is happening in most of these games. Though there’s some released after Windows 98SE that I’d imagined wouldn’t do this, but still do (THPS2, for example).