Tip o’ the Week 433 – You can have the power

clip_image001With modern hardware and Windows 10, there is a great deal of flexibility in the way power (in the sense of AC/DC as opposed to Power Users) is managed.

As PC systems evolved over time, and Windows got reliable to the extent that you don’t need to reboot every day or even every week (Windows 7, realistically), the needs of power management also changed as the shift from mains-powered desktop to Lithium-Ion battery laptops gathered pace.

Sleep states defined what goes on under the covers in as a PC goes into a different power mode – whether that’s automatic (because of timing, or because the battery level gets to a particular point) or if the user chooses to sleep/hibernate, hits the power button, closes the laptop lid etc.

Most PCs could go into a low-power (S3) standby state, where the CPU was shut down but the contents of memory were preserved (still consuming power, but a lot less of it), so the machine can be woken up quickly and carry on as before. After some period in standby or at a point where the battery was about to run out, the PC might even wake up and dump the memory contents to a file on disk, then shut down completely (called hibernating), meaning a subsequent wake-up would take a few seconds longer as it would need to resume from hibernate, since the contents of that huge memory file will be read back in before continuing.

Windows 8 introduced the idea of “Connected Standby”, meaning that even when a machine was in a low-power state – to all intents, asleep, but with the CPU still able to run in a restricted manner – the system can maintain a wireless connection that means apps could remain up to date. This was a feature that only applied to modern/Store apps, allowing for synchronising contents in the background while the PC was asleep, so that when it wakes up, the app data and live tiles on the Start screen would be up to date.

As both hardware and software platforms have improved, the connected standby idea morphed into Windows 10’s “modern standby”. ToW 335 talked about managing battery states in Windows 10, and briefly discussed using a powerful tool to tweak the way your PC handles standby states.

Powercfg is a command line tool, run from an elevated command prompt (ie clip_image003one with admin privileges – press WindowsKey+R, type cmd, then crucially, press CTRL+SHIFT+ENTER to ensure the command line is entered with the right level of privilege). If you don’t see “Administrator” in the title bar of your resulting command windows, you ain’t an admin, buster.

To check and see what power modes your PC can handle, try running powercfg /a; a more traditional, ACPI desktop will clip_image005probably support S3 and Hibernate modes, but a modern laptop will likely be able to operate in Standby (S0 low power idle) – that’s “modern standby”.

You can get some detailed reporting on how your PC is behaving, by using powercfg with one of the following command line arguments: /energy, /batteryreport, /sleepstudy, /srumutil, /systemsleepdiagnostics or /systempowerreport.


Now, one side-effect of this S0 low power mode is that Windows 10 PCs will likely enter that mode shortly after the screen is locked (via timeout or by WindowsKey+L). Non-modern apps (ie Win32/x64 apps like Outlook, Skype for Business etc) won’t know how to deal with this effectively disconnected state, and will drop their connection.

This means that when you unlock a plugged-in laptop after being away for a while, you’ll see that Skype for Business is signed out, and Outlook might tell you it’s lost the connection to the server (and then immediately re-connects). If you find this annoying and would rather lengthen the time that elapses when your machine is plugged in, before it goes to connected standby mode, then powercfg to the rescue!

From an elevated command prompt, run:

  • Powercfg /setacvalueindex scheme_current sub_video videoconlock 3600
  • Powercfg /setactive scheme_current

Using the flag /setdcvalueindex instead will tweak the behaviour when on battery only. The value in the first command is the number of seconds before the screen will timeout when locked, so substitute 3600 seconds (ie 60 minutes) for a value of your choice. For further details of what Powercfg can do, see here.