October 21, 2013
I've become a huge fan of touch computing. I believe that most things we think of as "computers" will be de-facto tablets, either in our pocket, in our hands, possibly even mounted on our wrists or forearms.
I can't wait for the iPad 5 this week (I'll be ordering three), and my Surface Pro 2 should arrive this week too. Because it is a blazingly fast, modern Intel machine, I like to use the Surface Pro to predict where tablet performance ought to be for everyone in 2 to 3 years. I think of it as an iPad 7.
My main complaint with the Surface Pro is the incredibly lackluster battery life. Granted, this is a classic Intel x86 box we're talking about, not some efficient ARM system-on-a-chip designed to run on a tiny battery. Still, I was hopeful that the first Surface Pro with Haswell inside would produce giant gains in battery life as Intel promised. Then I saw this graph:
So WiFi web browsing battery life, arguably the most common user activity there is on a computer these days, goes from 4.7 hours on the Surface Pro to 6.7 hours on the Surface Pro 2, a 42% increase. That's a decent increase, I suppose, but I was hoping for something more like 8 hours, something closer to doubling of battery life – to bring the Surface Pro in line with other tablets.
Nearly 7 whole hours of WiFi web browsing for a real computer in tablet form factor … that's not bad, right? Let's see how the 2013 MacBook Air does, which spec-wise is about as close as we can get to the Surface Pro 2. The screen is somewhat lower resolution and not touch capable, of course, but under the hood, the i5-4200u CPU and LPDDR3 RAM are nearly the same. It's a real computer, too, using the latest Intel technology.
The Surface Pro 2 has a 42 Wh battery, which puts it closer to the 11 inch Air in capacity. Still, over 11 hours of battery life browsing the web on WiFi? That means the Air is somehow producing nearly two times the battery efficiency of the best hardware and software combination Microsoft can muster, for what I consider to be the most common usage pattern on a computer today. That's shocking. Scandalous, even.
UPDATE: Turns out the Surface 2 Pro was shipped with bad firmware. Once updated, the WiFi adapter enters lower idle power states and this helps a lot, going from 6.6 hours of browsing time to 8.3 hours, a 25% improvement! That puts it much more in line with the rest of the field, at least, even if it doesn't achieve Mac like runtime.
It's not exactly news that Windows historically doesn't do as well as OS X on battery life. Way back in 2009, AnandTech tested a MacBook Pro with multiple operating systems:
|2009 15-inch MacBook Pro (73WHr battery)
||OS X 10.5.7
||Windows Vista x64 SP1
||Windows 7 RC1
|Wireless Web Browsing (No Flash) Battery Life
That's fine, I knew about this discrepancy, but here's what really bothers me:
- The Windows light usage battery life situation has not improved at all since 2009. If anything the disparity between OS X and Windows light usage battery life has gotten worse.
- Microsoft positions Windows 8 as an operating system that's great for tablets, which are designed for casual web browsing and light app use – but how can that possibly be true when Windows idle power management is so much worse than the competition's desktop operating system in OS X – much less their tablet and phone operating system, iOS?
(It's true that Bay Trail, Intel's new lower power CPU from the Atom family, achieves 8.6 hours of WiFi web browsing. That's solidly in the middle of the tablet pack for battery life. But all the evidence tells me that the very same hardware would do a lot better in OS X, or even iOS. At least Intel has finally produced something that's reasonably competitive with the latest ARM chips.)
Perhaps most damning of all, if you take the latest and greatest 13" MacBook Air, and install Windows 8 on it, guess what happens to battery life?
One of the best things about the standard 2013 MacBook Air 13" is that it has record-breaking battery life of 14 hrs 25 min (with the screen brightness at 100 cd/m², headphones plugged in and the Wi-Fi, Bluetooth and keyboard backlighting turned off). Under Windows 8 the results are more mixed [..] in the same conditions it lasts only 7 hrs 40 min. That's still very high—it's better than the Asus Zenbook Prime UX31A's 6 hours and the Samsung Series 7 Ultra's 5 hours—but it's only half the astronomical 14 hours + that the 13" MacBook Air is capable of.
Instead of the 26% less battery life in Windows that Anand measured in 2009, we're now seeing 50% less battery life. This is an enormous gap between Windows and OS X in what is arguably the most common form of computer usage today, basic WiFi web browsing. That's shameful. Embarrassing, even.
I had a brief Twitter conversation with Anand Shimpi of Anandtech about this, and he was as perplexed as I was. Nobody could explain the technical basis for this vast difference in idle power management on the same hardware. None of the PC vendors he spoke to could justify it, or produce a Windows box that managed similar battery life to OS X. And that battery life gap is worse today – even when using Microsoft's own hardware, designed in Microsoft's labs, running Microsoft's latest operating system released this week. Microsoft can no longer hand wave this vast difference away based on vague references to "poorly optimized third party drivers".
Apple is clearly doing a great job here. Kudos. If you want a device that delivers maximum battery life for light web browsing, there's no question that you should get something with an Apple logo on it. I just wish somebody could explain to me and Anand why Windows is so awful at managing idle power. We're at a loss to understand why Windows' terrible – and worsening! – idle battery life performance isn't the source of far more industry outrage.
[advertisement] How are you showing off your awesome? Create a Stack Overflow Careers profile and show off all of your hard work from Stack Overflow, Github, and virtually every other coding site. Who knows, you might even get recruited for a great new position!
Posted by Jeff Atwood
What makes it even stranger is that OS/X is _just now_ getting low-level power saving features that Windows already has, like timer coalescing. I'm expecting a 10-15% battery life increase from OS/X Mavericks due to a slew of new power-saving features - _that Windows has been using for a while_.
That said, part of the issue is probably drivers. I'd like to see battery life differences between OS/X and Windows on a hackintosh laptop to get a truer picture.
Honestly, I expected more in Windows 8 (and definitely in 8.1). But you have to remember that Apple has a big head start here. They ripped out big chunks of OS/X and rewrote or replaced power-hungry features for iOS. And they've spent years pulling those features _back_ into OS/X. Microsoft is still early in that process.
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.
I'm not arguing the main point, but in a graph like the one above, there'll always be a "worst", and it's not necessarily also going to be "bad".
The "timer tick" processing is huge. From the other side... Many years ago I had a text compressor and dictionary/index generator - small but brute force as I only would have to run it once - on an overclocked AMD (233Mhz to show the age) In C. Under Linux, the processor would overheat, windows not. Same code (gcc). Everything would stay cached under linux, under windows the timer tick rescheduler would dump enough out so it had to reload code and data. I don't know what was going in and out and on how many ticks, but it was repeatable.
I examined this issue when I got my Surface RT and saw that Microsoft left a lot of unnecessary stuff in Windows RT that hurts battery life. A clean boot of the OS shows that over 700 threads are running. Some of these threads wake up constantly and touch the disk. The two main culprits seem to be a process which makes sure that the Windows system files are not corrupted and another which checks some other type of security. If a Surface RT had a disk activity light, you would see it blink constantly even with no user or network activity. These should be unnecessary since the file system is now locked down and malware can't write over the system files. Microsoft needs to fix this issues if they really want to compete with the other tablet vendors.
First, you've got to try the Yoga 13. I'm loving it. And the next iteration gets even better battery life.
Traditionally, the big killer of battery life on Windows hasn't been kernelspace or system code, it's been userland apps. Apps which engage in polling, for example, forcing the system to spin up a CPU or--worse--access disk. Load up procmon on an idle system, watch the stuff that scrolls by while you're not directing it to do anything. That's the stuff that's usually eating your battery.
Even the userland apps that Microsoft puts out vary in quality. Their helper application for Intellimouse polls, for example.
Finally, no two web browsing experiences are alike. Google Maps brings my HD4000-based laptop to its knees in Chrome. Some web browsing apps churn JS at a high rate to deal with events or polling. If you're going to try to measure differences in battery life based on your experience web browsing, you need to make sure you're recreating the same conditions. (And that's going to be hard...browsing Facebook at noon during the shutdown crisis is probably going to be more taxing than the same activity at 3AM on a slow news week.)
Besides that Windows has always been a beast for me... A 100% new, fresh, clean system is always trying to run a zillion things and every application feels the need to install "pre-warming" startup utilities *cough* Adobe Reader, Office, Quicktime, Skype, VPN Clients, 3rd party MFGR Utilities that no one -EVER- uses!...
I still love Windows as a workhorse to get things done but the idea of it ever being lite on battery use is something I just gave up on.
Just curious; would you happen to know any similar battery life tests done with Win 8, OS X and Linux (say Ubuntu)?
This is tangential, but I was wondering - what do you do with all your old hardware?
Ages ago, I noticed that Windows was never quiet. My box had a HD light, and it was constantly flickering. When I inquired about this on Win tech sites, I received no satisfactory answer. At the time, I was concerned with HD life. Seem to recall I saw some HD activity also in Linux (Mint), even while no user apps were running. Hugely gratifying to see this recognized as a real OS design issue.
I wonder what conditions this test was run under. The Windows 8 native app life cycle has apps that aren't in the foreground suspended. There are only a few small allowed activities for background tasks under that app life cycle... the generally are audio and background downloads.
Was desktop IE used here, or Metro? What other apps were running in the background?
This is to me the main reason the Surface gets much better batter life than the Surface Pro. The pro runs full windows, with all the background stuff allowed... while the Surface is native apps only which are all suspended and there is very little background activity happening.
@Michael Mol: "Traditionally, the big killer of battery life on Windows hasn't been kernelspace or system code, it's been userland apps."
Windows 8 runs a boatload of user-mode services by default, and many of them engage in some type of polling or timer-based activation. All that background activity drains the battery even if no "apps" are running. Running procmon on an "idle" system is truly an eye opening experience.
Step 1: http://en.wikipedia.org/wiki/Vertical_integration
Step 2: 35+ years
Step 3: Profit
It would be more surprising if 35 years of tight hardware/software integration did not yield such benefits. No one in the industry has Apple's consistent history of designing their own hardware for their own software, and writing their own software for their own hardware. Sure everyone is doing it now, but they're all at a three-decade disadvantage in experience.
Maybe just open up an Air, tap into the battery leads and power the thing from a lab supply with a shunt resistor inserted between + and load. Then just measure the voltage drop with a scope or a cheap micro with ADC (i.e. teensy, it has a differential ADC). It should give you a pretty good picture of what's going on.
Is it fair to compare Wacom pen-computing devices (Surface Pro) to non? (Asking because I don't really know).
The device has to constantly produce an electromagnetic field that the pen interferes with.
AND, he picked two separate tests off of Anandtech, they're both "light" workloads but Anand regularly updates the tests to be more realistic. Just sloppy journalism here.
Comparing Windows and OS X on the same hardware seems like the ideal comparison since it reduces the number of variables, but it actually turns out to be bad science, I believe. Apple supplies the Windows drivers for their hardware and they have no incentive to provide best-of-breed Windows drivers for their hardware. In order to sabotage the Windows results they merely have to not spend a lot of effort on optimizing their Windows drivers.
Still, there is clearly something wrong. However I find this line frustrating:
> I just wish somebody could explain to me and
> Anand why Windows is so awful at managing idle power
Wait. Isn't it Anand's job to figure this sort of stuff out? He should use xperf (http://randomascii.wordpress.com/category/xperf/) to find out where CPU time is going, and Intel's Power Gadget (http://software.intel.com/en-us/articles/intel-power-gadget-20) to estimate power draw, and then write an awesome article explaining why Windows is drawing more power. I would love to read that article.
If Anand and other tech journalists don't have someone on staff who can do this type of investigation then they need to think about finding someone, IMHO.
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
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.
"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.
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.
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.
Hackintosh comparison... so it's not the hardware...
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.
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 :p
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.
Found it: http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.html
"In order to prevent active attacks, device drivers are required to poll the underlying hardware every 30ms for digital outputs and every 150 ms for analog ones to ensure that everything appears kosher. This means that even with nothing else happening in the system, a mass of assorted drivers has to wake up thirty times a second just to ensure that… nothing continues to happen"
So there you go, your video and audio drivers have to poll the hardware repeatedly, which takes all of the CPU, video, and audio hardware out of low-power state when they could otherwise be idle.
As far as I know, this remains the spec for drivers, and does partially explain why Windows would use more power at idle than other operating systems.
1) In the top showed absolutelly different tests for Surface and Macbook Air.
2) Look at this test http://images.anandtech.com/graphs/graph7417/59018.png
OS X powered Haswell Macbooks eats 30% more power than Windows 8 powered Sony. What is more Sony has 1080p IPS touch display and Macbooks has low-res TN crap.
3) Apple Bootcamp drivers have always been shit. Perhaps intentionally.
So the whole post is a groundless fantasy.
The only fact is what Surface Pro 2 shows bad results in sprint Anand's test. Anand hurried to plane )
PC browsers are alot better than Mobile OS browsers for me though, so my Android and Windows machines go hand in hand
Thank you for the link Gordon.
I do remain skeptical, however, of the content. I don't know that it's wrong, but its last update is over six years ago, and there seems to be a lack of supporting evidence.
It would be easy enough to prove, if true. Somebody could find the current requirements, or could record an xperf trace that shows drivers doing this. Without some sort of recent confirmation I remain skeptical.
But, next time I'm looking at an xperf trace I'll watch for signs of this behavior. If I find anything interesting I'll be sure to blog about it.
Aionescu wrote: "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""
That would be more compelling if Windows' battery life on a Mac laptop was not pretty much the same as Windows' battery life on a non-Mac laptop with similar specs. And if a similar differential wasn't seen on non-Apple Hackintoshes.
Also, Apple may well provide the appropriate ACPI stuff for Windows among the Bootcamp Windows drivers for Apple hardware.
Do you have same display brightness in osx and windows 7? I was working on a mac book pro with win 7 and had the same problem . Minimizing the brightness in windows did the trick. Btw it seems mac osx is optimized to work with a dim screen. Same brightness level does not work well with windows.
"Comparing Windows and OS X on the same hardware seems like the ideal comparison since it reduces the number of variables, but it actually turns out to be bad science, I believe. Apple supplies the Windows drivers for their hardware and they have no incentive to provide best-of-breed Windows drivers for their hardware. In order to sabotage the Windows results they merely have to not spend a lot of effort on optimizing their Windows drivers."
This sounds plausible and stuff, but it's actually completely not true.
Intel macs are not ferraris, and they aren't built out of tons of fancy bespoke components. If you look at what the windows boot camp driver partition actually contains it's just the totally standard(and usually several versions behind current) Nvidia/amd graphics drivers, intel chipset drivers that were standard at the time for that CPU, normal atheros wireless drivers, bluetooth drivers, etc. Stuff like the sound driver will have it's fancy crappy system tray amp dumped off but still be the normal >INSERTSOUNDCHIPSETMANUFACTURER drivers. All that stuff is exactly the same as you'd get on a comparable hp probook or lenovo, etc.
The only special apple stuff is mustard on the hotdog like the silly little bootcamp tray applet that does things like give you an approximation of the OSX volume changing overlay, and a similar hotkey hook driver to the one that lenovo, dell, hp, and everyone else use.
There's no "unoptimized custom version" of the intel chipset drivers or really anything going on here. You can really see the flipside of this in how many systems there are that OSX will boot on 90% or higher completely unchanged. Check out this list if you're curious or want a reference for what i'm saying:
Oh and by the way, for this reason there used to be forum threads out there i don't feel like digging out right now that were guides on how to get all the hardware in your intel mac working on XP or vista in the early days when it wasn't totally supported(and also on the 32 bit early macbook pros/imacs that they didn't ever support well), or 64 bit windows 7 on the systems that didn't support it by default with bootcamp. People had easily compiled lists of where to go grab compatible drivers from the manufacturers sites. Apple isn't making custom bluetooth chips or anything(...yet).
So yea, as a closing note to tie up my argument here... There isn't any legitimate reason that the battery life should be this different on a macbook because of drivers. The driver argument just doesn't float as "bad science". They're the same drivers everyone else uses, running on most of the same hardware when it comes to stuff that's at an actual level to have drivers in windows. There are no mysterious deep system level drivers getting popped in by the bootcamp driver installer app.
A compelling argument if someone could back it up would be that there's some complicated power management modes in the PMU/battery controller that only OSX gets to touch, much like how some of the switchable graphics macbook pros can only use the high-power card on windows. If that was the case though, then i still don't see how we should be seeing such a stark difference on the integrated graphics only systems though. This gap existed even in the 1st gen plastic macbook days with the gma950.
Might be interesting to compare with Windows on Parallels or VMWare... Does reduce Mac running time, but maybe still beats Bootcamp?
How about taking a Bay Trail tablet that runs Windows and putting a custom Android ROM on it. That would be an interesting comparison.
Thanks for this great comparison. I'm in the process of deciding upon a tablet AND this info is perfect!
Why include the NVIDIA Shield and the Google Nexus 7 in the first graph?
Comparing a 5 inch screen and a 7 inch screen to devices with 10+ inch screens is going to be an unfair comparison. Of course they win.
Take those 2 products out and the graph makes more sense.
I'm not going to assert that all of the claims in that paper are true, but I've read through all of your links. There's almost no questioning or debunking in Schneier's blog, and some of the other blogs "debunking" the paper are very clearly incorrect. Some of those are contradicted by Microsofts own answer to Guttman's paper, which includes:
"Will Windows Vista content protection features increase CPU resource consumption?
Guttman may be wrong about a number of his claims, but I'm not sure zdnet bloggers are really much more accurate.
The answer to this is really easy and obvious: for a long time now, Apple has had an incentive to optimize their software because that makes their hardware look good, and Microsoft has traditionally not had an incentive to optimize their software because they did not until recently make hardware, and it is really expensive to optimize software.
In the past, you could get away with not optimizing your software because most computers were plugged into AC power all day, and Moore's Law would double the speed of your unoptimized software every 2 years anyway, and compute speed was really the only measure of computer performance that mattered. Today, we are massively constrained by batteries, and performance-per-watt is what matters. It is common today for CPU's to run at lower than their best clock speed simply to save batteries. Suddenly, the highly-optimized Apple software stack is providing an obvious and highly-desirable battery-saving effect as compared to the much-less-optimized Microsoft software stack.
Ten years from now, Microsoft will likely catch up to where Apple is today, but until then, Apple and their users are reaping the rewards of many person-years of software optimizations that Microsoft has simply not yet accomplished.
Integration + 35 years. That's the answer.
Software optimization by itself isn't enough. What do you optimize for? At any given time Apple might have a handful of iOS hardware products and another handful of MacBooks, but Microsoft has hundreds. This is where vertical integration comes into play. Controlling the hardware and the software allows you to target your software efforts to a particular combination of hardware, and develop your hardware to take advantage of software advancements.
You say that drivers are partially to blame? Sure, I agree. But why do you need drivers for five thousand hardware devices? Again, this is the joy of an open platform where anything goes, versus a tightly integrated product with hardware and software developed in concert, backed by a third century of experience perfecting just that.
Integration + 35 years. That's the answer.
Maybe Windows is simply using more power both when idle and when used for any activity.
Obviously, Apple does a much better job in handling the power needs of a computer.
I'd like to know if those tests were done at the same brightness (equal nits) or same setting (max/X%/min). I'd prefer them to be done at equal nits to get true comparisons.
"We're at a loss to understand why Windows' terrible – and worsening! – idle battery life performance isn't the source of far more industry outrage."
Because pretty much everyone who cares about that sort of thing switched to Macs and iOS devices years ago. The people are still using Windows and not clueless users or corporate drones -- in other words those who know better -- mostly fall in two categories: hardcore gamers, who tend to use desktop machines and don't care about battery life, or techies who make their living as Windows coders or SysAdmins and don't want to rock the boat.
For the rest - why be outraged? Why waste your energy? Just buy an Apple device the next time you need to upgrade.
This happens because Apple is the only mobile company out there right now who isn't doggedly trying to shoehorn the entire desktop computing experience into their mobile devices.
I don't think it's fair to say that Microsoft hasn't spent time optimising their software. Windows 7 and 8 can run adequately on very low end hardware, whereas previously you always needed to upgrade your machine to get decent performance out of Windows. Look how fast boot up is on a Surface Pro or any other Windows 8/8.1 machine: 4-8 seconds in most cases, even with a standard spinning HDD. That's way faster than OSX.
I'm also not convinced that it's simple to compare. OSX is highly optimised for a limited set of chips, memory etc. The permutations of Windows installs run into the millions. I am sure that if Microsoft only had to ensure its software ran on Apple's small line-up battery would be great.
Also, comparing Surface Pro battery performance to a Macbook Air is hardly fair. It runs a 1080p IPS display with a touch screen and Wacom digitiser.
"Windows 7 and 8 can run adequately on very low end hardware" I nearly peed my pants when I read that. Windows runs piss poorly on even mid tier hardware.
Well... Apple has been at this hardware/software thing for a while...
According to the charts above, the Surface Pro uses 8.9 Watts and the Surface Pro 2 uses 6.68 Watts on their newer web browsing test. Keep in mind this is a newer, harder test. In their Surface Pro review, it got 6 hours (7 Watts) on their web suite. (7 Watts is actually a fair number, because I'm running about 6.5 W right now.)
If the Surface Pro 2's drain in their newer test were to drop by 1 W, it would get eight hours of battery life. If it dropped by 2 W, it would get 9.8 hours.
The Surface Pro is constantly running a Wacom digitizer and touchscreen, and is pushing twice the pixels. I think it's safe to say that it's not QUITE as bad a comparison, and you'd likely get 8.5 hours to the Air's 11. Basically, I'm not convinced they're running the same benchmarks.
Either way, yes, Windows had better stop with the gimmicks and actually undertake some massive updates to the infrastructure.
Let's hope that Anandtech test battery life in their presumably forthcoming reviews of Windows 8.1 and OS X Mavericks. We need more data to confirm what is being suggested above (although it doesn't look good for Windows).
I've been amazed that one of the key features of Windows 8.1 was improved battery life over Windows 8, yet many reviewers didn't bother to test it. The few reviewers that have (Anandtech included, although they've only done a preview) found no difference or a marginal decrease.
Furthermore, battery life is a very objective measure (unlike more subjective measures of design and aesthetics) and a key selling point that could sway undecided buyers to purchase a Macbook over a Windows laptop. In other words, Microsoft would do well to take this problem very seriously.
Really interesting article
It would be interesting to put OSX on a surface pro and test battery life on that vs windows. If OSX performed better in this scenario it'd really highlight a problem.
"we're now seeing 50% less battery life. This is an enormous gap between Windows and OS X in what is arguably the most common form of computer usage today, basic WiFi web browsing."
You appear to have based this 50% calculation on the quote in the preceding paragraph which says "with the screen brightness at 100 cd/m², headphones plugged in and the Wi-Fi, Bluetooth and keyboard backlighting turned off"
If you want a laptop that's just browsing the web on wifi, you don't want a laptop, you want a chromebook. Laptops/desktops are for doing things, so why are these tests never actually doing work.
I want to see a test that runs a development environment, sql server, 2 browsers with 10-15 tabs between them (including gmail that's been open for days, and facebook as well), and maybe even a game of skyrim open (or something equally demanding that can actually run on mac). In my experience macbooks don't handle doing work very well, and I've seen a few macbooks almost burn themselves out from doing a couple minutes worth of 100% cpu work.
Have you tried disabling overly "helpfu services like Superfetch? I bet a lot of things that are enabled by default are using power when they don't need to be.
Look at how bad ChromeOS is in battery management. Now that is inexcusable.
The real mystery is why are companies still pouring money into BACKLIT screens!!?? Everyone should be pouring tons of money and energy into Reflective/Transflective or similar screens with optional FRONT-LIGHT when it's actually too dark to read a screen! http://www.qualcomm.com/sites/default/files/uploads/competitivedisplaytechnologies-06-2009.pdf
is an example.
Then all battery life for laptops and phones will be crazy long, and you won't burn your eyes looking at them, and you could read them in the sunlight without any problems!
And another thought.. touch or not.. not all devices are the same and mouse and keyboard are very comfortable for the most frequent use of people who type and do lots of stuff, so why the hell do companies like Microsoft insist on forcing the same damn interface everywhere? Stupid.
Given that almost every optimization of a highly-developed system is a trade-off, the question could be rephrased to "what do we sacrifice in order to get better battery life?"
Personally, since I almost never use laptops unplugged, I'd prefer to see Windows maintain it's focus towards plugged-in usage.
The fact that you *can't* optimize for everything is why choice is good.
As others mentioned, you seem totally oblivious to the Sony laptops beating the MacBooks for battery life: http://images.anandtech.com/graphs/graph7417/59018.png
This would imply its more to do with the hardware, and the OEM drivers, than the operating system?
Also, your UPDATE for the Surface 2 battery life firmware fix links to Anandtech's iPad Air review, but you knew that already I guess.
First off I find it very strange that I can not comment using IE11. That won't introduce any bias to the comments people are posting. I had to install Firefox to get this sight to let me comment.
Anyway, now that the new battery life numbers for a properly update Surface Pro 2 are out I think something should be pointed out. The new battery life of the Pro 2 on the a fore mentioned test is 9.85hr with a 42Whr battery. That is 24 minutes longer than the iPad 4 with a 42.5Whr batter, and yet no one is pitching a fit that the iPad with arm is so terrible inefficient! I thought the entire point of arm is efficiency. Not to hide huge power use with a giant battery. Not only that but the Surface Pro 2 with the used settings is 4x faster than the iPad in the SunSpider benchmark and kills it at graphics.
One more thing. I've been getting much better battery life than 10 hours working to code and run Jython (Java + Python) on memory hungry astronomy routines while web browsing and reading PDFs with a second monitor. It might have helped that I disabled the built in flash add-on in IE11, but that puts me on the same footing as Macs running Safari by default.
I'm pretty sure I regularly beat the time given for the Mac 11.6" Air.
@pelleg why are comparing the Surface Pro 2 to the obsolete and no longer sold iPad 4, the iPad Air has a 32 Whr battery and weighs almost exactly one half as much as the Surface Pro 2? The difference in performance between ARM and Intel has been narrowing as of late with the A7 but is still pretty stark, but when it comes to a tablet, a whole pound difference in weight is huge. And, I think a lot of that energy is going towards driving a much higher rez screen.
I should have been more careful. Your right, the battery in the iPad Air is only 32Whr compared with the Surface Pro of 42. The benchmarks I quoted for the Pro 2 vs the iPad were for the iPad Air. The iPad Air runs roughly the same time as the iPad 4. So with a 32% smaller battery, the iPad Air run roughly the same time with 4x less performance. It is true that the iPad is driving 1.5 times more pixels.
So to compare efficiencies: (1.32 smaller batter * 1.5 pixels)/4x performance = iPad/Surface Pro 2 efficiency = 1/2 (well 0.495).
Of course, if the surface pro is at 16" or more it's display meets the qualifications for being a retina display. Adding more pixels at that point is wasteful, hence the definition of retina. Then as a whole the system efficiency would simply be 1.32 batter/4x performace = 1/3rd.
Is the iPad half the weight? Yes. Does that help me use it as a real machine? No.
Is the difference between a Surface Pro 2 and an iPad Air just the screen resolution? No.
@pelleg You're also missing the fact that a iPad Air has longer battery life than a Surface Pro 2, Anandtech lists the Wi-fi battery performance for a firmware upgraded Surface Pro 2 at 8.33 hours, the corresponding number for an iPad Air is 10 hours, or an hour and 40 minutes longer.
A pound is the difference between a device being a no-compromise tablet and being a compromised tablet/ultrabook. I was not happy with the iPad 3's 1.5 lbs, and I can't see using a 2 lb device as a tablet. An iPad Air is a better tablet than a Surface Pro 2, while a MacBook Air is a better ultrabook. For some people, the benefit of having one device makes the compromise worthwhile, but not for me.
Discharging graph is eventually drops off after signing out from heavy chat applications like skype.
According to http://anandtech.com/show/7440/microsoft-surface-pro-2-review/4
"Update: Microsoft issued a firmware update that brings Surface Pro 2 up to 8.33 hours of battery life in our web browsing battery life test, or 76% better than the original Surface Pro."
Time to update your article and your views on Surface Pro 2.
I'm usually skeptical about updates targeted to "fix" results in a single, specific benchmark.
Most of times it boils down to tricks to optimize performance the very narrow set of cases represented by the benchmark itself, which is a game changer just for the benchmark that needs to be "fixed" but has very low real value in real life cases of use.
@ Andrew Martin
Satisfactory battery life misses as it is very variable.
If you have a 10lb 17" machine, probably you look at it as a small desktop rather than a large laptop, and a few minutes of battery "just in case" you need to move to another desk or UPS fails is more than enough.
But as soon as you have to compete with really ultramobile devices like smartphones and tablets, it changes everything: it is all about how long is your daily work.
Of course you have access to power sources to recharge your machine during lunch, so 4 h of true mobility not bound to a desk or a power source may be enough.
But your ARM competitors does far better, so better aim to a full work day as your competitors.
That mean 8 work hour, plus 1 lunch hour you may need other features of your device (phone, GPS, ...) plus maybe 2h commuting and quietly reading e-news or watching cat videos.
And maybe you expect to come home with your BYOD with enough power to let children play with Angry Birds, or maybe to use it to read something during commercials.
12-15h on 24h day is what is really needed for true ultramobility and what can be done since day one with Android and iOS devices, that's the "size" of a day and no matter how much Wintel will spend in ads hype to say you the contrary.
That's the reason of success of tablets and smartphones, it fits a need Wintel is simply nowhere need to fit after 5 years of hyping about each generation being more power savvy than before.
Always enjoy reading this blog. You guys have to keep in mind that, the battery life really varies from user to user. Really depends on what you do on the device. Benchmarks always gives you basic numbers.
@Jfollas I was thinking the same thing...