..:: PCSX2 Forums ::..

Full Version: CPU load
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi people

Lately I've been watching the task manager and the load of my cpu and now I have a question to post here.

Well, I've seen that my usual cpu load is about 65-70% (I've got an x2 6000, yes it wasn't the best choice xD) and i thought that cpu load was ok 'cause i was getting full speed at some concrete games (and some areas).

But today I've noticed that when the fps fall around 45 fps (at Persona 3), the cpu it's still working at that 65%, and when the fps get even lower, its then when the cpu load goes up until 90-95%.

I've got a decent GPU which is not making any kind of bottleneck -i think-, a 9800GT, so the point is... why is not my cpu being completely used when i have this 10-15 fps drops? Is pcsx2 not taking all my pcu performace?

I suposse that using that ~35% of not used power maybe i would get better perfomance, but pcsx2 don't get all of my cpu load until the drop is big, too big.

Maybe it's a silly question, but i'm curious about this Wink

Thanks!
The cpu is waiting for threads or your vga card to finish a job.
There's nothing we can do about it (well not much, and not easily Tongue2 ).
(01-05-2009, 09:20 PM)tiku Wrote: [ -> ]Hi people

Lately I've been watching the task manager and the load of my cpu and now I have a question to post here.

Well, I've seen that my usual cpu load is about 65-70% (I've got an x2 6000, yes it wasn't the best choice xD) and i thought that cpu load was ok 'cause i was getting full speed at some concrete games (and some areas).

But today I've noticed that when the fps fall around 45 fps (at Persona 3), the cpu it's still working at that 65%, and when the fps get even lower, its then when the cpu load goes up until 90-95%.

I've got a decent GPU which is not making any kind of bottleneck -i think-, a 9800GT, so the point is... why is not my cpu being completely used when i have this 10-15 fps drops? Is pcsx2 not taking all my pcu performace?

I suposse that using that ~35% of not used power maybe i would get better perfomance, but pcsx2 don't get all of my cpu load until the drop is big, too big.

Maybe it's a silly question, but i'm curious about this Wink

Thanks!


You may have very good gpu, but not good enough for some areas in games like persona 3.

Plugins aren't fully optimized yet for all games, and the machine that can run any game under pcsx2 at full speed doens't exist yet.

Have to wait a little bit more...Blush
(01-05-2009, 10:07 PM)rama Wrote: [ -> ]The cpu is waiting for threads or your vga card to finish a job.
There's nothing we can do about it (well not much, and not easily Tongue2 ).

Ok, i thought maybe it was a bit easy to increase the "accuracy" of the cpu load (like when the DC mode was enabled) xD

jesalvein Wrote:You may have very good gpu, but not good enough for some areas in games like persona 3.

Plugins aren't fully optimized yet for all games, and the machine that can run any game under pcsx2 at full speed doens't exist yet.

No, that wasn't the exact point xD
I was asking about how the cpu load could be improved so the full potential of any cpu was really taken when it was necessary.
(01-05-2009, 10:18 PM)tiku Wrote: [ -> ]any cpu was really taken when it was necessary.

it is.

But when the game needs to use the GPU, then it releases some of the CPU power.
(01-05-2009, 10:18 PM)tiku Wrote: [ -> ]No, that wasn't the exact point xD
I was asking about how the cpu load could be improved so the full potential of any cpu was really taken when it was necessary.

i talked to jake about this a few days ago as i noticed the same thing.
jake added some optimization for MTGS mode that takes less CPU time, and makes games faster.

if he takes out the optimization, then you use more CPU% but the game slows down.

so right now, if we want to take advantage of the unused CPU power, what we need to do is thread another part of pcsx2.
and we're constantly thinking of what to thread, so sometime in the future this will be a reality.
the problem is (as its been explained multiple times), to truely benefit from threading, alot of code will have to be rewritten.
so its not going to happen for a while.
i'm running a pentium dual core @ 1.60ghz with basic graphics card.
when pcsx2 is running in-game the cpu reports between 60-90% in huge sweeping spikes. interestingly when on loading screen/options screen of a game no matter what it just flutters between 0-1%

am i killing my cpu with this emu?? lol.....
(01-05-2009, 11:41 PM)cottonvibes Wrote: [ -> ]i talked to jake about this a few days ago as i noticed the same thing.
jake added some optimization for MTGS mode that takes less CPU time, and makes games faster.

if he takes out the optimization, then you use more CPU% but the game slows down.

Right. The current MTGS uses a "burst mode" optimization to improve cpu cache hits and predictions. It actually means that your GPU core has to sit around briefly and wait for enough data to make it worth while to break from its passive sleep state. Bursting through data that way speeds up the actual processing considerably though so while the core reports less cpu use it's actually benchmarking faster than it would using a method that spread the data-processing out over the full 99% cpu load spectrum. (edit: this is also good because it leaves more cpu time for operating system context switches and such, so that they occur during times when it is least intrusive to the GPU's burst-style process stream)

Also! The EE/logic core, which is normally the slower core, will use an aggressive spin-wait loop when it waits for the GS. That's why games that really tax the GPU can see 90-99% cpu use. Again, this is not because your cores are getting more done! It's because the EE core uses an aggressive spin loop to wait for the GS ... so 40% of those cpu cycles in your task manager are just the EE hopelessly wishing the GS would finish already so it can do something more useful.

I'll change that in a future version, specially if I can finally find a way to thread an additional part of the emulator. At that point it'll be well worth it to have all threads "play nice" and use passive thread blocking techniques.
appreciate you clearing that up!

i still can't over the fact that i have pcsx2 running so well on my pants setup! lol.........