Surface pro 4 - clock speed of CPU keeps the same

Anonymous
2016-08-03T03:19:10+00:00

After updating to windows 10 (1607), I find that the clock speed of the CPU keeps to be 2.92GHz when plugged, and to be 2.47GHz when using battery. My surface pro 4 has a core i5 CPU. It seems strange because the clock speed of CPU should change with the workload in the Task Manager. Does anyone have the same problem?

Surface | Surface Pro | Display and screen

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
Anonymous
2016-08-31T01:11:30+00:00

Fixed with today's update. Thanks, MS!

NOTE: I had to reboot twice after updating. So if anyone is not seeing the fix try a restart.

Was this answer helpful?

0 comments No comments

92 additional answers

Sort by: Most helpful
  1. Anonymous
    2016-08-24T15:58:07+00:00

    I think this is the problem. I notice that even since update to AU, surface integration service didn't work properly. It always display an console window at system startup. Before AU, that is not the case.

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2016-08-23T04:23:06+00:00

    Thank you for the information.

    The only problem remaining is it doesn't work when battery saver is on - the corresponding bits in MSR instantly changed to 00. Does anyone have workaround for this?

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2016-08-22T03:20:09+00:00

    Which policy would you recommend best to adjust for a balance of both? I am still hopeful that somewhere and somehow MS will sort this out with an update next week and that the battery life will magically improve. 

    The short answer is, I recommend 50 as it's closest to the default used by Intel, which would be 50.196. If you move from 50 to 0, the min frequency will rise all the way up to max (all core) turbo, while going from 50 to 100 will limit the max frequency more and more until it finally settles somewhere below 1.0 GHz.

    Technical Deep Dive

    According to MSDN, Microsoft uses (setting * 255) / 100 to translate a percentage to the value used for "Energy_Performance_Preference". Page 474 of the Intel® 64 and IA-32 Architectures Software Developer’s Manuals describes the IA32_HWP_REQUEST register in detail suggesting to take a closer look at bits [31:24]. I can recommend reading the whole section 14.4 HARDWARE-CONTROLLED PERFORMANCE STATES (HWP), but for now let's concentrate on the following new Speed Shift related MSRs in Skylake:

    • 0x770 IA32_PM_ENABLE
    • 0x771 IA32_HWP_CAPABILITIES
    • 0x774 IA32_HWP_REQUEST

    You can read (and write) MSRs with CrystalCPUID or RWEverything, which can be used for a quick check if Speed Shift is working as intended by Intel. The MSR 0x770 is pretty self-explanatory and 0x771 just lists different multipliers for min, guaranteed (max non-turbo) and max turbo states.

    The MSR at 0x774 should read 0x000000007F002201 for i7 (0x000000007F001E01 for i5 or 0x000000007F001601 for m3). The bold part can be divided as

    • 000 Activity_Window (bits 41:32, RW) - Hint on the duration of the sliding window used to optimize performance/frequency. Intel default is 0x000 to let the hardware decide itself, while Microsoft set 0x19E indicating a 30ms window.
    • 7E Energy_Performance_Preference (bits 31:24, RW) - Hint on how to balance perfomance vs energy savings. The Intel default value is 0x80, whereas Microsoft uses 0x00 for maximum performance leading to nonstop max turbo.
    • 00 Desired_Performance (bits 23:16, RW) - Anything but 0x00 indicates Speed Shift to be disabled or overruled by the OS.

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2016-08-22T01:45:23+00:00

    Is it possible to summarize in easy to follow steps for the less technical amongst us, the proposed "solution", please

    The easy way is to reset Speed Shift to use the default values recommended by Intel and execute the following commands with administrative privileges:

    powercfg –setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 54533251-82be-4824-96c1-47b60b740d00 36687f9e-e3a5-4dbf-b1dc-15eb381c6863 50

    powercfg –setdcvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 54533251-82be-4824-96c1-47b60b740d00 36687f9e-e3a5-4dbf-b1dc-15eb381c6863 50

    powercfg –setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 54533251-82be-4824-96c1-47b60b740d00 cfeda3d0-7697-4566-a922-a9086cd49dfa 0

    powercfg –setdcvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 54533251-82be-4824-96c1-47b60b740d00 cfeda3d0-7697-4566-a922-a9086cd49dfa 0

    Alternatively you can disable Speed Shift by executing:

    powercfg –setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 54533251-82be-4824-96c1-47b60b740d00 8baa4a8a-14c6-4451-8e8b-14bdbd197537 0

    powercfg –setdcvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 54533251-82be-4824-96c1-47b60b740d00 8baa4a8a-14c6-4451-8e8b-14bdbd197537 0

    If you prefer GUI over command line, you can save the following as .reg file and add it to your registry:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\8baa4a8a-14c6-4451-8e8b-14bdbd197537]

    "Attributes"=dword:00000002

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\36687f9e-e3a5-4dbf-b1dc-15eb381c6863]

    "Attributes"=dword:00000002

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\cfeda3d0-7697-4566-a922-a9086cd49dfa]

    "Attributes"=dword:00000002

    After rebooting you can see 3 new options under Settings > System > Power & sleep > Additional power settings > Change plan settings > Change advanced power settings > Processor power management

    • Processor energy performance preference policy
    • Processor performance autonomous mode
    • Processor autonomous activity window

    To setup Speed Shift with Intel default values change "Processor energy performance preference policy" to 50 and "Processor autonomous activity window" to 0 or disable Speed Shift with "Processor performance autonomous mode".

    Thank you...this is quite helpful.  Just our of curiosity, How do you know what the "default values recommended by Intel" are for these settings?

    Was this answer helpful?

    0 comments No comments