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.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
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?
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.
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.
I’ve been told this is a Windows problem, not just impacting Surface devices and that a fix is being worked on by the Windows team. (No ETA, sorry.)
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.
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?
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:
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