Speedstep & PCSX2
#1
So, I have read about the speedstep slowdowns on laptops, power saving profiles and whatever else.

I'm curious as to why is this a problem in my desktop as well. Yes, I have a power saving profile, but the point of speedstep is that it underclocks when the comp is idling, but is supposed to go back to stock clocks when there is more load (and onwards to turbo mode but that's another thing). This works fine on games, video and audio encoding and whatever else i have thrown at it.

But with pcsx2 it just keeps the clocks at 1.2ghz, not detecting whatever load pcsx2 throws at the CPU. This results in less than ideal gameplay, naturally.

So while I obviously can just turn off power saving profiles when I use pcsx2 to bypass the problem, I'm still curious, is it something on my config that prevents speedstep functioning as designed, or is it just that speedstep and pcsx2 don't like each other at all.

PCSX2 0.9.7
Win7
i5-750 stock
Reply

Sponsored links

#2
Your question (and you're not alone since others threads relating similar issue) arises a doubt to me. By principle it is not for the application to control the power saving feature, which makes me think what may be happening is EPSX2 reading that idle speed and adjusting itself to it.

But that is a question better left to the developers the answer and, if something, a hint to where to seek the issue source.
Imagination is where we are truly real
Reply
#3
(07-23-2010, 06:02 PM)nosisab Ken Keleh Wrote: Your question (and you're not alone since others threads relating similar issue) arises a doubt to me. By principle it is not for the application to control the power saving feature, which makes me think what may be happening is EPSX2 reading that idle speed and adjusting itself to it.

But that is a question better left to the developers the answer and, if something, a hint to where to seek the issue source.

Ah your right, PCSX2 tends to 'fill in' whatever resources it detects to be available. PCSX2 only uses 90% of my CPU (For the EE, IOP, and 2 VU units), if it went that extra 12% or so I would have 2 maxed out logical CPUs..
CPU: Pentium D 'Presler' 915 2.8 ghz 2x2MB L2 @ 3.5 ghz
GPU: eVGA [Nvidia] 8600GT 256MB SSC DDR3
Tested: FFX, FFX-2, FFXII, MGS3, KH, KH2, The Hobbit NTSC
PCSX2 FTW! Biggrin
Reply
#4
I had some similar issue. In my case Overclocking the FSB inside windows. That made the emu to use less CPU than the 100%. And of corse, it did reconize the CPU clock speed bad.
Reply
#5
(07-23-2010, 05:35 PM)Mika Wrote: So while I obviously can just turn off power saving profiles when I use pcsx2 to bypass the problem, I'm still curious, is it something on my config that prevents speedstep functioning as designed, or is it just that speedstep and pcsx2 don't like each other at all.

It's how agressive the setting of power profiles are, and the hardware not being the same as everyone else's.

For me speedstep works perfectly and I have my power profile set to "balanced" but if I set it to power saver I get problems, laptops on the other hand are set more to save power so it's probably why it doesn't work so well then.

PCSX2 used to use full CPU% before and then it didn't have this problem but then the CPU temps would rise and that's even worse for laptops (nobody's happy apparently Tongue2), just find a power saving setting that works better for you, you can probably even make a custom one to better work around it.
Core i5 3570k -- Geforce GTX 670  --  Windows 7 x64
Reply
#6
(07-23-2010, 06:02 PM)nosisab Ken Keleh Wrote: Your question (and you're not alone since others threads relating similar issue) arises a doubt to me. By principle it is not for the application to control the power saving feature, which makes me think what may be happening is EPSX2 reading that idle speed and adjusting itself to it.
Yeah. It seems like it's adapting to whatever resources it reads to be available at that moment rather than trying to just run at full speed regardless of clock cycles. Almost like it respects the "power saver" profile a little too much. Tongue2

It's not a huge problem as such though, since the default mode in Win7 at least is the "balanced" profile, which seems to work without trouble. It's only if you select the "power saver" profile that things get hairy.

I still find it curious though that other hungry hungry apps seem to work fine even with "power saver" profile.
Reply
#7
Doesn't power saver force cpu to keep in low profile mode even in highest load? This hold true for at least my Phenom II (desktop), but I'm sure Intel too.
Reply
#8
One of the power saver profiles on my laptop limits maximum CPU to 50%. Obviously not good if you're running PCSX2. I suggest you go into advanced settings to manually tweak power saving options. If you don't want to bother with tweaking, Balanced mode works very well for desktops.

Another issue is the load might be spread out amongst multiple cores so PCSX2 is just using 25% here and there ergo, keeping the CPU on a low power state. You can force the i5-750 to run PCSX2 in dual-core mode. This will likely trigger Turbo Boost, too, which can add an extra 533MHz.
Reply
#9
PCSX2 is very well designed in how it uses available cpu resources.

Instead of blindly doing so called "spin waits" when one thread has to wait for the other,
it sleeps the anticipated time off. This mechanism is very sophisticated, so we don't loose a single fps
over a simple spin wait.
The gain of doing this is that less CPU cycles are just wasted.
PCSX2 doesn't heat up the CPU as much and background tasks aren't being starved of CPU cycles.
It's also a proper and accepted coding standard, very multithread / multitask friendly.

This is until you enable hardware logic power saving as it is implemented on current Intel and AMD cpus..
Those see the few sleep cycles and erroneously assume a light workload, then they drop the CPU frequency
to preserve power.
It's a simple problem of bad (for PCSX2) adjustment of the load managers built into the processors.

We know about the issue (which really only is bad on laptops btw, desktops are better adjusted)
and recommend to set a higher performance level in the OS energy plan.
We certainly won't "fix" it though by using 1995 style spin waits again.
AMD and Intel will have to fix their hardware load managers.

/rant Tongue2
Reply
#10
(07-24-2010, 03:09 PM)naoan Wrote: Doesn't power saver force cpu to keep in low profile mode even in highest load? This hold true for at least my Phenom II (desktop), but I'm sure Intel too.

Based on the settings that are user configurable, no. Mine was set to max 100% by default, tested and working with bunch of other high load apps.

Essentially I configured both the power saver and balanced profiles with same settings. Of the things I tested only pcsx2 kept the cpu underclocked when power saver was used, everything else clocked back to stock and beyond to turbo.
(07-24-2010, 07:15 PM)rama Wrote: Those see the few sleep cycles and erroneously assume a light workload, then they drop the CPU frequency to preserve power.

Thanks for the answer. As said, it wasn't a problem as such, but piqued my curiosity, and now I know. Smile
Reply




Users browsing this thread: 1 Guest(s)