I have a pull request that affects the nature of our threading on dual-core systems. Systems with both hyper threading and without. This changes how the code runs if you have two /physical/ CPU cores, doesn't matter if the virtual cores are 4 or not.
This pull request needs persons to test with dual core CPUs like the Intel Pentium G3258 and other dual core CPUs.
Quite a long while ago the Dolphin team chose to spin loop in our GPU thread because idling looping was causing performance issues due to multiple reasons.
One thing we had to note was the potential for performance loss on dual core systems due to starving the rest of the system of any CPU time. We decided the gains to other users were worth the potential of losing performance on dual core, and most systems were moving to triple or quad core anyway.
This issue is coming back stronger than ever though due to the 64bit Nvidia K1 has dual core Denver CPUs. Due to its quirky architecture it needs the CPU to have some idle time in order to effectively recompile the host architecture code(ARMv7 or AArch64) to its native VLIW architecture. If it doesn't have any free time it basically has to run most of the code through its in-order instruction decoder which causes a large amount of performance loss.
So we basically need to test that on dual core systems(HTT or not, doesn't matter) that there isn't any performance loss.
The pull request on Github:
https://github.com/dolphin-emu/dolphin/pull/1665
Here are the builds of the PR that users should be testing with.
Windows x86_64:
http://dl.dolphin-emu.org/prs/pr-1665-do...est-x64.7z
OS X:
http://dl.dolphin-emu.org/prs/pr-1665-do...latest.dmg
The master versions to compare to would be these ones.
These are only here for reference for a version that we should be comparing against.
Just in case there are improvements elsewhere that cause performance improvements, we don't want to have erroneous results.
Windows x86_64:
http://dl.dolphin-emu.org/builds/dolphin...494-x64.7z
OS X:
http://dl.dolphin-emu.org/builds/dolphin...0-4494.dmg
This pull request needs persons to test with dual core CPUs like the Intel Pentium G3258 and other dual core CPUs.
Quite a long while ago the Dolphin team chose to spin loop in our GPU thread because idling looping was causing performance issues due to multiple reasons.
One thing we had to note was the potential for performance loss on dual core systems due to starving the rest of the system of any CPU time. We decided the gains to other users were worth the potential of losing performance on dual core, and most systems were moving to triple or quad core anyway.
This issue is coming back stronger than ever though due to the 64bit Nvidia K1 has dual core Denver CPUs. Due to its quirky architecture it needs the CPU to have some idle time in order to effectively recompile the host architecture code(ARMv7 or AArch64) to its native VLIW architecture. If it doesn't have any free time it basically has to run most of the code through its in-order instruction decoder which causes a large amount of performance loss.
So we basically need to test that on dual core systems(HTT or not, doesn't matter) that there isn't any performance loss.
The pull request on Github:
https://github.com/dolphin-emu/dolphin/pull/1665
Here are the builds of the PR that users should be testing with.
Windows x86_64:
http://dl.dolphin-emu.org/prs/pr-1665-do...est-x64.7z
OS X:
http://dl.dolphin-emu.org/prs/pr-1665-do...latest.dmg
The master versions to compare to would be these ones.
These are only here for reference for a version that we should be comparing against.
Just in case there are improvements elsewhere that cause performance improvements, we don't want to have erroneous results.
Windows x86_64:
http://dl.dolphin-emu.org/builds/dolphin...494-x64.7z
OS X:
http://dl.dolphin-emu.org/builds/dolphin...0-4494.dmg