Fallout 1/2 and CPU usage

Sduibek

Creator of Fallout Fixt
Moderator
Modder
I can just sit at the Load Game screen and Fallout is maxing out one of the cores on my 3-core CPU (meaning ~33%-40% CPU usage is coming from Fallout)

How is this possible?!?!? This game is from fifteen years ago, there's no way it needs that many cycles to run properly. Something is amiss.
 
Have you tried "SingleCore" and "ProcessorIdle" options in sfall for FO2, or CPU_USAGE_FIX in previous hi-res patch for FO1? On my specs they work pretty well for reducing CPU usage.
 
IIRC, Fallout prevents from idling for some strange reason (I think in the time it was programmed there wasn't any power management, and it somehow affects today because of the compatibility mode). Also, IIRC, sfall has an option to fix this.

Code:
;Set a number of milliseconds to idle each input loop
;Set to -1 to disable
;Set to 0 to idle only if other processes are waiting for processor time
;Set to 1 (or some higher number if needed) to prevent 100% cpu use
ProcessorIdle=-1

I don't know if this is valid for the Fallout 1 version, but it should help when theh port to the Fallout 2 engine is ready.

EDIT: Well, reading again the FAQ, I noticed there is no Fallout 1 version, so this will need to wait for the Fallout 2 port.
 
I'm using the cpu idle available from f1_res in the case of Fallout 1, forgot to check the Sfall options for Fallout 2, thanks.

Sounds like maybe it's just stuck being "somewhat broken" in Fallout 1 engine then. Hmm. Because Mash's fix does reduce CPU usage in various cases, but it's still easy to see 33-40% usage unfortunately.
 
My guess is Mash's fix only equals to ProcessorIdle=0, not always forcing input loop to idle. Maybe Mash could extend the functionality to more like sfall (forcing single core and customizable processor idle)?
 
For the record, pegging a cpu core is extremely common in old 2d software rendered games. The vast majority will do it. Any extra power you put in is just converted to extra fps.

Newer games tend to be more limited by graphics card than the cpu, so you'll tend not to see a core pegged at 100%.
 
Timeslip said:
Any extra power you put in is just converted to extra fps.
Unless running in DirectX/Direct3D mode, isn't FPS forced? A good example is Diablo and Diablo II, I believe it's forced 30fps for each.

Isn't Fallout probably the same, forced to 20 or 30 or 60 FPS?
 
Sduibek said:
Timeslip said:
Any extra power you put in is just converted to extra fps.
Unless running in DirectX/Direct3D mode, isn't FPS forced? A good example is Diablo and Diablo II, I believe it's forced 30fps for each.

Isn't Fallout probably the same, forced to 20 or 30 or 60 FPS?
No. That's only if a game uses vsync, or it's own frame limiting mechanism. Few games turn vsync on by default, and even fewer use custom thingies.

In fact, I doubt forcing vsync on through graphics drivers would work for a ddraw game. It wouldn't know when to do the wait, because there's often no backbuffer involved.

Edit: You can use an sfall global script if you want to see what sort of fps fallout is pushing. Just increment a counter each frame, and write it to the console every second. Don't be surprised if you hit 5 digits.
 
Back
Top