I’m not paying for it but I have a few reg settings I can change to make the foreground app run faster and more responsive when they are low powered machines so I can try those if need be.
The biggest bottleneck for laptops in the past have been the spin disks to handle the bumps but this is an ssd so should be faster.
Edit.
This reg key tweak can make any slow foreground app a lot lot faster and more responsive.
HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl
Win32PrioritySeparation
Win32PrioritySeparation (systemmanager.ru)
I might have posted this before on here.
Edit.
I did. Extremly slow compile Clarion 11 - #23 by Richard_R
Default Windows CPU Scheduling.
Control Panel, System Icon, Advanced System Settings, Advanced Tab, Performance Settings Button, Advanced Tab, Best Performance of:
0x26 (100110) Programs - Shorter Intervals, Variable Length Intervals, Foreground 3:1
0x18 (011000) Background Services - Longer Intervals, Fixed Length Intervals, Foreground & Background equal interval lengths.
Something to bear in mind if choosing Fixed Length Intervals “the middle two bits (AABBCC) from Win32PrioritySeparation”, is if the process and threads have nothing to do, the process will hand back to the OS, so its not going to make the CPU/OS just cycle wasting time before handing over to another process.
Taken from:
Context Switches - Win32 apps | Microsoft Learn
Until threads that are suspended or blocked become ready to run, the scheduler does not allocate any processor time to them, regardless of their priority.
The most common reasons for a context switch are:
- The time slice has elapsed.
- A thread with a higher priority has become ready to run.
- A running thread needs to wait.
When a running thread needs to wait, it relinquishes the remainder of its time slice.
So I actually think for maximum responsiveness these two are the best and amount to the same thing:
0x16 (010110) which is:
Longer intervals - Longer or shorter is cancelled out by variable length intervals.
Variable-length intervals - lets any process complete what its trying to do before handing back to OS, controlled by the 1:1, 2:1 or 3:1 foreground : background ratio.
3 : 1. The threads of foreground processes get three times as much processor time than the threads of background processes each time they are scheduled for the processor.
0x26 (100110) which is:
Shorter Intervals - Longer or shorter is cancelled out by variable length intervals.
Variable-length intervals - lets any process complete what its trying to do before handing back to OS, controlled by the 1:1, 2:1 or 3:1 foreground : background ratio.
3 : 1. The threads of foreground processes get three times as much processor time than the threads of background processes each time they are scheduled for the processor.
And thats the key, the Variable Length intervals (aa01cc) override the longer or shorter intervals and the 3:1 Foreground:Background process time ratio (aabb10) gives the User the responsiveness they expect.
Obviously running less apps and services can also free up cpu time, as I do wonder how much time is spent context switching between apps & services just for them to report they have nothing to do!