If you have a Surface Pro 4 or a Surface Book, chances are, you’re experiencing pretty awful sleep (Connected Standby in particular) battery drain. This power state is designed to enable connectivity and near-instantaneous wakes, while consuming extremely little power think 10 days of battery life, in this state).
In order for this state (Intel calls the system state S0ix, or an active-idle state) to work, a combination of operating system, system firmware, and device drivers need to all act appropriately. The Intel integrated graphics devices appears to be a common cause of battery drain in sleep for Skylake-based systems. Sleep study reports (you can view them by running “powercfg sleepstudy” from an elevated command prompt) indicate the graphics device is active on the order of 15-17% of the time, while in sleep, causing 1W+ drain.
However, an updated Intel graphics driver, released December 22, 2015, version 220.127.116.11.4352, has improved that somewhat for my Surface Pro 4. Check it out – can you guess when I installed the driver?
Power draw is still not where I’d like to see it (from my work on various SoC platforms, within Windows, I’d expect these Core-based systems to consume in the range of 100-150mW, on average), but it’s still a 40-50% improvement from where it was. This high drain is also likely why the Surface team implemented a rather short doze-to-hibernate timeout of 2 hours. It means I’m frequently resuming the device from hibernate (~12 seconds) instead of from Standby (<1 second).
The driver is currently only for 6th generation (Skylake) Core graphics and with a Surface, you’ll need to install it manually via Device Manager (great installation guide, at Windows Central), until Microsoft pushes it to this particular device ID via Windows Update. It seems to work just fine, though. If you’re seeing similar (better) results, let me know!