Dolphin, the GameCube and Wii emulator - Forums

Full Version: Dolphin Using 4 Cores?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Although Dolphin doesn't technically support quad core CPUs I noticed every core is running at about 50% capacity. Looks like some sort of hyperthreading is going on and I want to stop this if I can to improve performance and free up cores for other programs. The problem is I'm running an i5 with Windows 7 x64 and those doesn't support HT, and HT doesn't appear in the BIOS. So what's causing this?
Dolphin does support quad cores, it just utilizes two cores of it and three when you're using LLE and have LLE on thread enabled.

You can see that the CPU utilization is 50%, which means two of the four cores is on load by Dolphin.
That doesn't mean you'll see two cores perfectly on load all the time while the others are doing nothing unless they're locked to the cores, which they are not.
Since the CPU load gets scheduled amongst the cores by the OS, the reading you're seeing is correct.
The OS spreads the work onto all cores. That's all.
To elaborate on what Anti-Ultimate said, the OS determines which of the two cores it's going to use for Dolphin two major threads. The thing is, the OS causes these threads to "jump" between cores quickly, much faster than Windows Task Manager can report. Since there was work done for the reporting resolution (say 1 second) on more than just two cores, Windows Task Manager will show you that.
We should have a setting to prevent jumping and gain some speed. It's named "Lock cores to threads" But it was removed...
(10-28-2013, 02:10 AM)Mustafa Can Wrote: [ -> ]We should have a setting to prevent jumping and gain some speed. It's named "Lock cores to threads" But it was removed...
AFAIK this would only improve speed on cpus with Intel TurboBoost.
(10-28-2013, 02:14 AM)Anti-Ultimate Wrote: [ -> ]
(10-28-2013, 02:10 AM)Mustafa Can Wrote: [ -> ]We should have a setting to prevent jumping and gain some speed. It's named "Lock cores to threads" But it was removed...
AFAIK this would only improve speed on cpus with Intel TurboBoost.
Yes, Without this setting CPU jumps between power-saving mode and TurboBoost mode, which kills performance on all new Intel Proccessors.
I locked the affinity to just the first 2 and it slowed down tremendously, TM showing the same workload spread but now at ~40%. So I wonder if there is a way to lock threads to cores through Windows just for Dolphin? The Turbo Boost thing (which bumps me from 3.2GHz to 3.4) and extra time required to synchronize all 4 cores puts a small drag on performance.
Mustafa Can Wrote:Yes, Without this setting CPU jumps between power-saving mode and TurboBoost mode, which kills performance on all new Intel Proccessors.

Before the removal of this option the developers publicly asked if anyone could produce any data to back up this theory with hard evidence. Since nobody could it was removed.

I understand that this sounds logical but everyone who has actually tried it gains no significant (>5% which is within the margin of error) speedup on modern Intel cpus.

Titan91 Wrote:I locked the affinity to just the first 2 and it slowed down tremendously, TM showing the same workload spread but now at ~40%. So I wonder if there is a way to lock threads to cores through Windows just for Dolphin? The Turbo Boost thing (which bumps me from 3.2GHz to 3.4) and extra time required to synchronize all 4 cores puts a small drag on performance.

Just leave it alone. Letting the OS manage this has been shown to produce better performance in nearly all cases.