Anniversary Update

Right after I installed the new Microsoft Anniversary Update, I started to notice performance issues with my Surface Pro 4. Switching between apps became a nightmare and the mouse started to move painfully slow. Nothing helped besides performing a complete restart. This happened to me during a meeting with one of my clients, causing me to apologize and stall untill the reboot was completed. I started my presentation again, only for the same problem to happen.

My desktop however was acting all fine, weird right?

Doing some detective work, I figured out that my CPU is stuck at the same frequency of 1.5 GHz. No matter what the Surface is doing, I get the same frequency all the time.

The Problem

I started to wonder why this is happening on the laptop but not the desktop? And why after the anniversary update of Windows 10? Google linked me to more people who are suffering from the same problem on Reddit and on the Microsoft Feedback Hub, oops!

Reading through the pages, I found out that the reason behind the slow performance was a new feature that Microsoft enabled on the Surface line, called “Enhanced Intel SpeedStep® Technology“, which does the following:

Enhanced Intel SpeedStep® Technology is an advanced means of enabling very high performance while also meeting the power-conservation needs of mobile systems.

Separation of voltage and frequency changes. By stepping voltage up and down in small increments, the processor is able to reduce periods of system unavailability that occur frequency change. The system is then able to transition between voltage and frequency states more often, improving balance between power and performance.

Clock partitioning and recovery. The bus clock continues running during state transition, even when the core clock and phase-locked loop are stopped, which allows logic to remain active. The core clock is also able to restart far more quickly under Enhanced Intel SpeedStep Technology than under previous architectures.

The tl;dr version of that goes along the lines of: In a computer, the OS tells the processor to speed up or slow down depending on current needs. Intel Speed Shift turns control of that over to the processor, and as a result everything is quicker (and theoretically can save a small amount of battery life).

The Solution

At first, people were hacking their way through the registry to enable extra power settings that doesn’t usually appear for users and are locked away. Changing those settings fixed the problem but on the account of causing more problems. Thanks to Microsoft, this was fixed by a firmware update that was released just recently which you can get by running Windows Update.

After applying the update and rebooting, the CPU started to change its frequency according to the OS needs. I haven’t tested if there is any improvement in the battery life, but that is yet to come in a future blog post.

It’s worth mentioning that you need to remove the registry hack and revert to the original settings if you ever applied it BEFORE you install the update, and to also reboot the Surface machine at least twice for the update to be completely applied.