Hidden differences between system power plans in Windows?

Solution 1:

Yes, there are indeed many power plan attributes that are not exposed in the UI. The system stores the three default power plan templates in the registry, and any modifications or custom plans are stored as overrides to the template. Any setting not shown in the UI is inherited directly from the template. One of the hidden settings, 'Personality', will tell you which of the three templates it is.

High performance will keep cpu clocks at near-max even when idle, wasting power and producing heat (servers probably use this). Power saver will stay at lowest clock speed unless under sustained high load, so your ingame framerate and video playback will suffer (might be good for laptops on battery power). Balanced is the only practical choice for normal use, since it will rapidly adjust the cpu clock according to current demand.

The defaults for processor power settings are at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00. There's a FriendlyName and Description on every key, but some are not very helpful. The MSDN article for win7, "Processor power policy on Windows", describes the Processor power management section.

Searching for some of the setting names on the web turns up more interesting info. The blog post "How to Unlock The Hidden Features of Processor Power Management" reveals that the settings can be un-hidden from the UI by altering the Attribute option in the template:
powercfg -attributes Group_GUID_Here Setting_GUID_Here -ATTRIB_HIDE

I went through the registry tree and wrote a script that unhides the hidden ones: powercfg-win7-all-settings.bat. One oddity is that the Personality setting will not show in the UI even if unhidden. Also, note that the options window will look really ugly if you unhide all the settings. That's why there's the bit in the script that lets you hide everything again.

Obviously, Microsoft doesn't want users casually fiddling with these settings because there are a lot of non-obvious side-effects to changing them, and they may be heavily interdependent. On the other hand, picking the wrong power profile template has a huge impact on system behavior (performance, power usage). The user will think that they've seen all the options the UI has to offer. Meanwhile, their computer will run slowly, or keep overheating, and they won't be able to tell why.