SpeedStep/Speed Shift Performance Hits

sfsccn

Junior Member
Apr 5, 2018
6
0
1
I recently got a machine with a Core i7-7820X CPU, Asus Prime X299-Deluxe motherboard and GeForce GTX 1080 Ti video card. I'm using Windows 10 1709 16299.309.

There were numerous performance issues such as stuttering in video games, stuttering when dragging windows in Windows Explorer (single monitor, not dual monitor), and typing in any app. The multiplier would vary from 12-40 depending on load.

Disabling just SpeedStep in the BIOS did not fix the issues, and the multiplier would still vary. Disabling both SpeedStep and Speed Shift seems to fix all the issues, and the multiplier seems to stay in the 40-41 range. Performance is extremely good now: apps open very quickly and app interfaces and gameplay are very smooth. The difference was dramatic.

CPU core temps seem fine during normal use, all around 31. Haven't stress tested yet.

I'm curious how these options are supposed to work, and if it's a bad idea to disable them. I don't want those issues to return, they were really annoying. I could live with decreased CPU life if it's only moderate.

Advice appreciated, thanks!
 

Bouowmx

Golden Member
Nov 13, 2016
1,150
553
146
I assume Speed Shift (hardware-level) overrides SpeedStep (software-level).

Speed Shift has a parameter called Energy-Performance Preference (EPP), dictating how eager the processor increases multiplier; from [0-255], lower is more eager. Use ThrottleStop to set it to 64 or lower.
 

HutchinsonJC

Senior member
Apr 15, 2007
467
207
126
It really shouldn't be so obvious to you that it's in a reduced power state that you'd see noticeable performance issues like that.

I'd be curious what power configuration the OS is setup as. Assuming you're on windows you can search box "Power Options". I've noticed that most rigs I purchase come defaulted to power saver and ridiculously low duration timers before putting the machine to sleep. Makes for some really irritating initial windows updates!

Anyway, most over clockers have fiddled with things like speedstep (intel cpus) and a lot of us have even turned that off with out any real problems as a result of doing so, except perhaps maybe a slightly higher electric bill.

SpeedShift is more of the same, but it's the OS having the ability to hand the control of the power state back to the CPU.
 

sfsccn

Junior Member
Apr 5, 2018
6
0
1
Speed Shift has a parameter called Energy-Performance Preference (EPP), dictating how eager the processor increases multiplier; from [0-255], lower is more eager. Use ThrottleStop to set it to 64 or lower.

Thanks, that makes a lot of sense and should be very useful. I'm curious to discover what my EPP was.
 

sfsccn

Junior Member
Apr 5, 2018
6
0
1
I'd be curious what power configuration the OS is setup as.

I have a custom plan modified from "balanced". Processor power management has min processor state=5%, system cooling policy=active, max processor state=100%. Is that min processor state what's killing me? Or should I say what was killing me before I axed speed step & shift? I guess I could experiment with that...
 

sfsccn

Junior Member
Apr 5, 2018
6
0
1
Setting min processor state=5% in power options made a big difference. The (8) core multipliers didn't max out, but they did run much higher, most of them 36-42. The stuttering issues were also much better, but I noticed some occasional problems. A very basic video game, KovaaK's FPS Aim Trainer, was unplayable before due to stuttering but was totally fine after the change. Interesting. I wonder if min processor state and EPP are equivalent? I'll probably stick with disabling Speed Shift, but it's nice to know these can be changed outside of BIOS.
 

mikeymikec

Lifer
May 19, 2011
19,911
14,155
136
I have a custom plan modified from "balanced". Processor power management has min processor state=5%, system cooling policy=active, max processor state=100%. Is that min processor state what's killing me? Or should I say what was killing me before I axed speed step & shift? I guess I could experiment with that...

Those are the default processor management settings for the balanced profile.
 

nathanddrews

Graphics Cards, CPU Moderator
Aug 9, 2016
965
534
136
www.youtube.com
I'm using Windows 10 1709 16299.309
FWIW, I upgraded from Windows 7 to 10 a couple years ago and have been updating ever since. About a month ago, I did a 100% complete refresh of the latest W10 version and everything has been working much smoother/better. It was a little bit of a pain to get all my settings back to the way I liked them, but I'm really glad I did it. I don't know when you last did a full reset, but it worked out really well for me.
 

coercitiv

Diamond Member
Jan 24, 2014
7,111
16,446
136
I have a custom plan modified from "balanced". Processor power management has min processor state=5%, system cooling policy=active, max processor state=100%. Is that min processor state what's killing me? Or should I say what was killing me before I axed speed step & shift? I guess I could experiment with that...
Yes, it was the low min processor state in combination with your performance profile and also possibly CPU sleep states being enabled. A simple primer on dynamic frequency and sleep states for Intel CPUs can be read bellow (straight from Intel):
C-states are idle states and P-states are operational states. This difference, though obvious once you know, can be initially confusing.

With the exception of C0, where the CPU is active and busy doing something, a C-state is an idle state. Since an idle CPU isn't doing anything (i.e. any useful work), why not shut it down? No one is going to notice since there's no one using it. (Letting a CPU run at full bore when idle is like driving in circles very fast; all you're doing is going nowhere quickly.)

A P-state is an operational state, meaning that the core / processor can be doing useful work in any P-state. The most obvious example is when your laptop is using a low power profile and operating on battery. The OS will lower the C0 operating frequency and voltage, i.e. enter a higher P-state. Reducing the operating frequency reduces the speed at which the processor operates, and so the energy usage per second (i.e. power). Reducing the voltage decreases the leakage current from the CPU's transistors, making the processor more energy efficient resulting in further gains. The net result is a significant reduction in the energy usage per second of the processor. On the flip side, an application will take longer to run. This may or may not be a problem from a power perspective. I'll talk about this issue in some depth in a later blog.

C-states and P-states are also orthogonal. This is a fancy mathematical term meaning that each can vary independently of the other. This doesn't mean that in the higher C-states, the voltage doesn't change. It only means that when you resume C0, you go back to the operating frequency and voltage defined by that P-state.
In my experience the best way to get optimal performance and energy efficiency out of an Intel system is to minimize frequency variance while using a sleep state & performance profile to keep idle power low. (read as "as low as you want it to be").

For example my HTPC is set to High Performance and min processor state = 100%, but the CPU idle power stays under 3W since C7 sleep state is enabled. Even my laptops are configured with min processor state above 50% when plugged in, since most of the power savings happen when the CPU enters sleep states anyway.

The reason you don't want to have both low frequency state and deep sleep state at the same time is highlighted in the quoted text above: a CPU that has entered C7 sleep state at 800Mhz and is suddenly "awaken" with a latency sensitive task will have to first wake from sleep back to 800Mhz and only then ramp up speed up to say 4Ghz+ turbo. If the same CPU had entered sleep at 4Ghz it would also wake up at 4Ghz.
 

sfsccn

Junior Member
Apr 5, 2018
6
0
1
Yes, it was the low min processor state in combination with your performance profile and also possibly CPU sleep states being enabled. A simple primer on dynamic frequency and sleep states for Intel CPUs can be read bellow (straight from Intel):

Thanks, it would be helpful to understand how this works. It sounds like you can conserve power while preventing sudden large changes in frequency. Perhaps it's these sudden large frequency changes that caused my problems?

I'm not sure I how I would configure my system to achieve this. For example, in your HTPC, how did you enable "C7 sleep state"? In my BIOS (Asus Prime X299-Deluxe) it says C3 and C7 states are not supported, but C6 state is supported. It then has an "Autonomous Core C-States" option that can be Auto, Disabled or Enabled, and is currently set to "Auto". Are the C-state options relevant if speedstep and speed shift are disabled?