[SOLVED] How to force a program to use more CPU?

gnusmag77

Commendable
Dec 29, 2017
7
0
1,510
I'm running the Nintendo Switch emulator Yuzu on my laptop, games run ok most of the time, at 45-60fps but with a lot of instances of frame drops to the 20fps region, which gives a playable but a bit rough experience.

Now here is the thing that puzzles me:
Iv'e noticed that usually, the CPU utilization is about 50% (as can be observed in the Performance tab in Task Manager).
But, from time to time, out of the blue, suddenly my emulator performance becomes much better giving me a stable 60fps and a smooth gaming experience.
During that time the CPU utilization gauge shows 80%.

I want to mention that im constantly monitoring tempratures, and in both the situations described above (whether its 50% or 80% CPU utilization) they never go above 80c for the processor (and 55c for the GPU). There is also zero thermal throttling and all cores are almost constantly locked at max turbo speed of 4.2ghz.

I want to find a way to trigger the higher CPU utilization but i don't know how. It is really annoying that my computer can give much better performance without any issues, but ”chooses" not to do that most of the time.

Iv'e tried things like core affinity and processing priority but they dont seem to help. Something that helped a few time but now doesn't have an effect anymore, was to simply open my web browser and keep it opened in the background - it somehow triggered the system to give more performance and to go to that magical 80% CPU utilization area, sounds weird but it worked for a while.

Iv'e asked countless of people for advice, but no one seems to be able to help or to at least explain why does it happen, i really hope you guys can help me, thanks in advance.

My specs:
i5-10300H
GTX1650
16GB RAM
 
Last edited:
Solution
I would expect an emulator to be a single threaded app.
Be careful how you interpret task manager cpu utilizations.
Windows will spread the activity of a single thread over all available threads.
So, if you had a game or app that was single threaded and cpu bound, it would show up on a quad core processor as 25%
utilization across all 4 threads.
leading you to think your bottleneck was elsewhere.

The 10th gen intel processors will turbo up a single core if conditions are right.
That is good cooling temperatures and minimal load on other cores.

Not much you can do about temperatures other than keeping your cooling airways clean.

I assume you are playing plugged in.
The default on battery is to run reduced performance to save...

gnusmag77

Commendable
Dec 29, 2017
7
0
1,510
Yes, all cores seem to be utilized at all times to an extent, utilization per core vary and changes a lot.
Power setting are on max, i always play plugged in.
Im not a super advanced user but im not a beginner either, so all the basic stuff are in check.

The situation is that most of the time the program doesnt take advantage of the cpu power even there's a lot of headroom, and I'm not sure why. I wouldn't be wondering about that if i haven't seen that it is indeed possible, but it is, and there must be a way to tap into it and trigger it because it already happened multiple times.
 
I would expect an emulator to be a single threaded app.
Be careful how you interpret task manager cpu utilizations.
Windows will spread the activity of a single thread over all available threads.
So, if you had a game or app that was single threaded and cpu bound, it would show up on a quad core processor as 25%
utilization across all 4 threads.
leading you to think your bottleneck was elsewhere.

The 10th gen intel processors will turbo up a single core if conditions are right.
That is good cooling temperatures and minimal load on other cores.

Not much you can do about temperatures other than keeping your cooling airways clean.

I assume you are playing plugged in.
The default on battery is to run reduced performance to save battery life.

Just an odd thing to try:
Reduce in power management the max cpu % from 100% to 99%
See how you do.
 
Solution

gnusmag77

Commendable
Dec 29, 2017
7
0
1,510
Thanks for the suggestion, will try the 99% power plan thing.
Usually emulation is indeed more of a Single-thread kind of task, but a few months ago the developers of the Switch emulator revised it and made support for multicore processing.

I don't fully rely on the Perfomance tab in Task Manager, it just happen to rise in precentage whenever the game works smoothly, so it's just some kind of a proof to me that something indeed is happening when i suddenly get better performance, and since even when the performance is good, temperatures are still comfortable and there is no throttling, i don't understand why can't i get this performance all the time.
 
In task manager, open the resource manager and look at the cpu tab.
That should tell you more about which processes are using cpu resources.
Even a multithreaded app needs to have a single master thread controller.
It is sometimes hard to apply multiple threads to a single task.

How is your ram usage?
Look at resource manager memory tab.
If you see hard faults > 0 per second, you probably need more ram.

Are there any relevant settings in your yuzu app?