Forcing performance mode for background app on Intel P/E-core CPU


The issue seem to be completely fixed by this excellent tool. Just put * in "Processes to Keep Off E-Cores" and everything else leave at defaults.
 

My Computer

System One

  • OS
    Windows 10
The issue seem to be completely fixed by this excellent tool. Just put * in "Processes to Keep Off E-Cores" and everything else leave at defaults.
It sounds promising, but it looks like "just" a core affinity tool that blocks processes from using E-cores. I want the encoder to use all cores, not just P-cores, but prevent Windows from kicking it off the P-cores when it's in the background.
 

My Computer

System One

  • OS
    Windows 11
    Computer type
    PC/Desktop
    CPU
    Core i9 13900K
    Motherboard
    Asus Z690-I
    Memory
    64GB DDR5
    Graphics Card(s)
    3080Ti
    Hard Drives
    Samsung 990 Pro 2TB
    PSU
    Coolermaster SFX 750W
    Cooling
    Custom loop
Encoder will use all cores with the default "Efficiency mode off" method, that's the whole point. No matter if it's in background or not.
 

My Computer

System One

  • OS
    Windows 10
This fixed it for me:

Code:
   // HighQoS
   // Turn EXECUTION_SPEED throttling off.
   // ControlMask selects the mechanism and StateMask is set to zero as mechanisms should be turned off.
 
   PROCESS_POWER_THROTTLING_STATE PowerThrottling;
   RtlZeroMemory(&PowerThrottling, sizeof(PowerThrottling));
   PowerThrottling.Version = PROCESS_POWER_THROTTLING_CURRENT_VERSION;

   PowerThrottling.ControlMask = PROCESS_POWER_THROTTLING_EXECUTION_SPEED;
   PowerThrottling.StateMask = 0;

   SetProcessInformation(GetCurrentProcess(), ProcessPowerThrottling, &PowerThrottling, sizeof(PowerThrottling));

Edit:
As mentioned by @CptCaveman this also works great (but requires admin rights): powercfg /powerthrottling disable /path "path to your exe"
 

My Computer

System One

  • OS
    Windows 11
    Computer type
    PC/Desktop
So, in my case I am using the Julia programming language and this works:
Code:
powercfg /powerthrottling disable /path "C:\Julia\Julia-1.8.3\bin\julia.exe"

Thanks to @lexa_a for pointing me in the right direction
Interesting, is it just a coincidence that the command option has the same name as the feature that was introduced with Win10 1709 (in conjunction with Skylake and Speed Shift)?
How does such a system behave if you deactivate it completely?

A little rant:
Even back then, I found it strange to simply bluntly reduce the performance of a software just because it was no longer in focus.
At least it only affected mobile systems (at least I only ever saw it there) and can be quickly deactivated globally.

And now since Alder-Lake (actually Lakefield) with the hybrid architecture, things are often not much better.
I can still remember a presentation video where they were really excited when they minimized a performance-intensive software and then could write an email with the P-Cores that were then freed up. o_O:oops:

Despite Windows 11, the (oh so intelligent) Thread Director and the latest software versions, it is still necessary to help yourself with more or less reasonable workarounds which range from deactivating the e-cores completely, to pointless burn electricity, diving into the depths of the registry or tinkering around with 3rd party tools .
Somehow a heterogeneous architecture on the desktop (mobile is a different story) doesn't really seem to be the solution to me. :unsure:

Greetings,
Martin
 
Last edited:

My Computer

System One

  • OS
    Win11 22H2

Latest Support Threads

Back
Top Bottom