Why Does Windows Have Terrible Battery Life?

Jørn Christensen wrote:
“Just curious; would you happen to know any similar battery life tests done with Win 8, OS X and Linux (say Ubuntu)?”

I reviewed (for MPC / PCWorld Finland) a 2012 MacBook Air 13" and run the battery tests on OS X, Ubuntu, Windows 7 and Windows 8.

OS X was fare superior: five hours on video playback, Windows 7 and Ubuntu came second with approx. 3,5 hours and Windows 8 was left last at 3 hours. This was with full brightness.

On light workload (OpenOffice, music, video, zip/unzip, Adobe Reader etc.) OS X clocked eight hourds, Windows 8 and Ubuntu 5,5 hours and Windows 7 five hours. This was with 120cd/m^2 brightness.

I also ran Geenbench on all the platforms. Windows 8 performed the best, Ubuntu 2nd, OS X and Windows 7 shared the third place. On OpenGL (Cinebench, not available on Linux) Windows 8 was the fastest, Ubuntu 2nd fastest and Windows 7 the slowest.

Full article here (PDF, in Finnish), for those who interested: https://dl.dropboxusercontent.com/u/11014590/2009201212.pdf

@Facebook #516138689:

There’s no voting system here, so you can’t be downvoted.

Also, you show a very interesting case, I wasn’t aware of the VAIO Pro 13 myself. But while it’s a great counterpoint regarding performance of Windows PCs under light workloads, you should have mentioned it still loses to the Air under medium and heavy workloads, by a wider margin, even. Seems like it was too optimized for a single case, while the Air is strong all-around. An impressive result, nonetheless.

I used to be a Microsoft diehard, and about 2 years ago I completely jumped ship to OSX and Linux. I quit Microsoft because they don’t get it…

Here is classic Microsoft. You boot up Windows, and the first thing Windows does is scan your harddisk. Then if you have not done certain background tasks Microsoft runs them in the background. Meaning the harddisk and computer is ALWAYS active. My Linux and OSX boxes are quiet! They don’t go trancing around asking, “oh is something there…”

What Microsoft needs to do, and they really missed the boat on this one is create a new OS. I mean from the ground up. Microsoft should have gone to the market and said, “hey you know this Windows 7, we will keep it alive for the next 10 years all bells and whistles…” BUT in the mean time we are going to create this cool completely new OS. In other words do an OSX! Or do a Windows NT! The fact that Windows 7 will be supported means that companies can be ensured that their businesses will run for at least 10 years and they can slowly ease into the new OS.

But Microsoft does not trust itself anymore and hence they do not have the courage and hence you get crap on crap, and on crap…

You think of the Surface Pro as an iPad 7? I think of it as a terrible laptop and tablet. People seem to forget or don’t realize what a mess Windows Internals are. Cruft upon cruft after years of new code dumped on top of old. It’s just offensive from an OS standpoint.
Too bad they don’t have the guts or skill to do what Apple has done several times which is to rewrite major portions of the OS for increased efficiency.
So what they get is another Vista on their hands with Windows 8 that nobody wants and a tablet/laptop that is lousy for both things.
Also Intel is hardly the way forward for such devices.

@AndrewM:

I get the feeling the main graph in this article is missing a line indicating satisfactory battery life.

If, for example, 4hrs of battery life turns out to be “enough for anybody” then there’s little reason to put effort into extending it.

An interesting thought. It may get to the point where a certain amount of battery life is enough and this type of argument gets like the pixel resolution debates for cameras. After a certain amount of resolution, adding more pixels makes no sense. But in this case, I don’t think 4 hours is enough for anybody.

But even when we do get to the point where batteries last long enough, hardware should still improve and allow for smaller, lighter cheaper batteries that give us this “good enough” battery life. Keep up the pressure to keep reducing the drain on the battery. There are more than one or two ways for this to pay off.

@Andrew Martin:

I’m not so sure there is a battery life that we’ll hit in the next few years that’s good enough for everybody. Ask anyone who has switched recently from a feature phone to a smartphone – they would go weeks without recharging their phone to recharging everyday (and with good reason – I wouldn’t go back to a feature phone even if you paid me).

Even the MacBook Air with it’s 14 hours of battery life can still be improved upon. Until we get to the point where we aren’t even thinking about charging our devices, we still have improvements that can be made.

@Randomascii.wordpress.com:

It’s true that Apple provides the drivers for Windows, but they don’t write the majority of them. They just package up the drivers that are provided to them by each of their component vendors, just like any PC OEM does. The only drivers they do write are for things that are unique to their hardware (Facetime camera, for example).

Besides, if Apple didn’t put out the best Windows drivers they could for their hardware, it could still come back to bite them. If all of a sudden their hardware performs worse than PCs with similar hardware, people will question what is going on with Apple’s drivers and the motives behind why they are so bad.

Apple should want their hardware to perform as good as it can, even if it’s not running their OS. Ultimately, it’s the hardware that they are selling, not the OS.

Easy: because Microsoft is dumb as a post when it comes to coding. Take a look at Mark’s Blog entry on how just right clicking to compress some files produces DOZENS of stupid file operations. Windows is a complete mess internally. It sucks. So don’t be surprised when it burns power badly.

http://blogs.technet.com/b/markrussinovich/archive/2007/08/07/1715181.aspx

Hackintosh comparison… so it’s not the hardware…
http://www.mobilemag.com/2009/05/14/hackintosh-netbooks-experience-33-battery-life-boost/

Total guess, but I think it’s OS related. I also dug up an article that showed XP had about 20% better battery life than Windows 7. Win7 is just doing more and waking up more.

Apple regularly releases updates that are battery life related. It only takes one errant processes to burn though cycles and reduce efficiency. I think they are just being more carful about it that Microsoft is.

@www.facebook.com/profile.php?id=516138689

You cherry picked a single chart from a review of a laptop with an external battery attached, giving the sony 73Wh of juice vs the MBAs 52, and it still barely beat it. With the external ‘slice’ battery taken in to account, the MBA beats it handily.

It’s easy to bury your head in the sand as say it’s not a problem, but the preponderance of evidence is against you…

It is utterly unfair to compare Windows on a Mac laptop. Regular Windows-compatible (OEM/designed-for/Logo’ed) machines have something called “ACPI Tables” – you can read about it on Wikipedia. The short version of the lesson here is that Windows uses a power management driver (from Intel/AMD) + its own power management engine that reads the ACPI tables in order to determine what the platform CAN do, what it SHOULD do, and interfaces with the firmware (and even battery controller) to decide how and when to save power. The reason Windows does this is because it can theoretically run on any x86-compatible machine in the world, each with its own clock domains, power curves, down to the capacitors used and their capabilities for short/fast power transitions.

Mac laptops are 100% designed in-house by Apple. Their ACPI tables are mostly empty. Windows has no idea what to do, and does its best using generic algorithms.

Note that I’m talking about Windows 8+ here. Windows 7 introduced a bunch of timer improvements, but still had issues with idleness. Windows 8 finally started addressing those, but only on “Connected Standby” systems, such as Surface RT. Windows 8.1 is a lot more forceful about it. Vista on a Mac (or XP) is terrible because the OS sucked at power saving, period. But now it’s no longer really the OS’ fault. Try Windows 8.1 on a designed-for-Windows/Connected-Standby machine. You’ll get 12+ hours.

It’s ironic that Mavericks is introducing the same Win7/8 technologies to the desktop OS, that should actually help battery life a lot (it certainly did on Windows).

I would love to see what the battery life of say Ubuntu was on the standard 2013 MacBook Air 13" as that would be a fairer comparison. That said, I totally agree with your main points.

As a person with a decent understanding on how a computer OS works here are my speculations:

1- OS X is more aggressive than Windows to reduce the impact of processes when they are not foreground processes (e.g. timer coalescing). In addition, OS X have generally much less going in the background than windows.

2- I haven’t heavily used windows 8 but I believe having both metro apps and desktop apps taxes your battery a lot (not very sure it does).

3- Surface Pro 2 has almost twice as many pixels as MBA 11.

4- Maybe the surface Pro 2 and windows 8 are not taking full advantage of Haswell features to aggressively turn the clock down when the full speed is not needed. Or maybe they turn it down when is should run at full speed. Note you can get the best battery life when you finishes the work at it’s optimum voltage/clock state then goes to sleep.

5- Maybe Windows very core was built without taking into account too many power constrains. However, apple got to rebuild their kernel when they switched to x86. Apple don’t usually have as much to worry about in terms of backward compatibility and even if they do, they don’t usually care. Apple likes to move on with their it’s life :stuck_out_tongue:

I like Microsoft even thought I am not a big fan of their current strategy. Specially Windows 8 Apps that gets rid of the Nav Bar at the bot of the screen. Competition is good. Without competition, both OSes would suck.

I currently own 3 laptops MBA 13’ 2011. rMBP 15’ late 2012 and Lenovo T410.

My rMBP 15’ generally feels faster when running on Win 7 then OS X. When I dock it at home, I use Win 7. Otherwise, I’ll be running OS X

Darren - you missed the point, and perhaps don’t know what normalized battery life is. With or without the slice (and the graph does show both), this is life per WATT, which is what matters when discussing battery life.

Anyways, here’s what Anandtechs own Jarred had to say about it
"I’d have to see if Anand used the “Balanced” or “Power Saver” setting for his Surface Pro 2 review, but it may have been Balanced – which would mean it would a bit closer to the VAIO Pro 13 result on Power Saver. Also, Anand used our tablet battery life test, which at one point was less demanding than our laptop battery life test but perhaps the latest iteration changed things – and depending on whether he used IE10/IE11 in Win8 mode or desktop mode, he could also see lower battery life."

I vaguely recall someone from AMD (??) writing a paper back when Vista was introduced that went over the implementation of driver signing in Windows, and how that was going to impact battery life. Basically, as I recall, in order to implement DRM the OS will repeatedly check the drivers and the hardware to make sure that all signatures remain valid, so it doesn’t really idle well at all.

Since the poor battery life is on a web browsing test it is quite likely that the difference is not an OS difference but a web browser difference. If we want to be able to say that the OS is at fault then we would need to do a test with the same browser on both platforms – Chrome perhaps. Although, since Chrome unilaterally raises the platform timer frequency maybe that wouldn’t be such a good idea…

It would also be interesting to try more tests with comparable machines rather than Apple machines. Otherwise too much home-turf advantage is being ceded to Apple – see the ACPI tables comment.

Microsoft works very hard to try to minimize power draw (I worked with the guys who do this). However they constrained by their desire for perfect backwards compatibility, which significantly limits, for instance, timer coalescing.

It’s an important topic and I’d love to see more investigations, including deep dives into why some scenarios draw more power. That is, I’d love to see power science instead of power speculation. As one example, when doing power-draw benchmarks it is important to monitor the timer frequency with clockres to see if some maladjusted service has raised it.

Gordon Messmer says “I vaguely recall…” someone from another company mentioning something around the time when Vista was introduced…

First, citation needed. Second, that’s seven years ago so probably not relevant. Third, the claim doesn’t seem likely. Maybe Microsoft would check the signatures occasionally, but Microsoft cares about battery life too much to make frequent signature checking seem likely. Extraordinary claims require extraordinary evidence.

Sorry for the string of comments, but this sort of post seems to bring out the ad-hominem arguments. A previous commenter said:

“Easy: because Microsoft is dumb as a post when it comes to coding.”

The comment then referenced a Mark Russinovich blog post from 2007 which concluded with “I’ve learned that the compression engine has been updated in Vista SP1 to perform fewer file operations.” So, six years ago Vista had a problem, which was then fixed.

I don’t think Microsoft is perfect – my blog is mostly criticisms of their products. But I try to limit my criticisms to products that are current, not an OS that is three versions from the latest.

There’s nothing ad hominem about claiming Microsoft codes poorly, given the evidence of the last several decades. I’ve been developing applications professionally since it was Windows/286, and the sheer number of stupid bugs, mistakes, and obviously poor design decisions still never ceases to amaze me. Knowing what I know from previous traipsing through the Windows kernel, I’m surprised it fares as well as it does on battery tests.

This conversation only matters if you care much about battery life (I don’t, I care more about raw capability).

I’m a heavy Windows user, and I’ll admit that the power management on Windows devices is less than ideal. That said, I think the fact that Windows was designed to run on any x86 hardware kind of makes it a one size fits all solution whose shortcomings show up in specific use cases. Battery life is one of them.

The funny thing about all of the devices mentioned here is I don’t have a use case for any of them. The Air and Surface are far too small for me to do real work on. They’re also too big as e-readers, which is why I use a Kindle Paperwhite for that.

Agree with Charles, it might be more of a driver issue than a OS issue.

Windows on MacBooks always performed bad in power consumption, much worse than comparative PC laptops.
(MacBook Air 2013 and ASUS UX31A are NOT comparative, Haswell based machines should have almost twice battery proformance than Ivy Bridge based machines)

A test on Hackintosh machine would be a good counterpart anchor.