However, a number of readers have alerted Ars that it seems the battery life isn't living up to the promises, and many suspect that the automatic graphics switching is the culprit. So we set out to investigate the issue.

Unexpected graphics switching

Apple's automatic graphics switching came under suspicion because users began noticing that innocuous applications were unexpectedly causing the automatic graphics switching to engage. While it's no surprise that Aperture, iMovie, or Photoshop cause the system to switch on the NVIDIA GT 330M in the Core i5 and Core i7 MacBook Pros, some rather "pedestrian" apps can cause the discrete GPU to turn on as well: Tweetie, Transmit, PathFinder, Skype, and NetNewsWire, to name a few. These apps aren't graphics intensive, but they are the kind of apps that most people leave running all the time.

Other applications that can cause the switch are 1Password (the GUI application, not the browser plug-in), GoogleTalk plug-in for Firefox, Snapz X Pro and most screen capture apps, all of Apple's iLife apps, Panic's Unison and Coda, Mathematica or any other X11-based app, VMware Fusion, Parallels Desktop, Evernote (in grid view), Delicious Library, Yahoo Messenger and most IM apps (but not Adium), Toast Titanium, Front Row and most other HTPC apps, and even utility software like Drive Genius. Apps that use the QuickTime X media frameworks won't trigger the switch, but those that use the older QuickTime 7 media frameworks will.

Developer Cody Krieger put together a handy application called gfxCardStatus that will helpfully display a small 'i' or 'n' in your menu bar, letting you know at a glance whether your MacBook Pro is running on the Intel IGP or the NVIDIA GPU. It can also tell you which apps you are running that are causing the discrete GPU to activate. Several users on Apple's support forums are using Krieger's tool to build a list of apps that cause a GPU switch.

Core Animation is the culprit

The problem with the aforementioned apps, at least when it comes to activating graphics switching, is that they make liberal use of Core Animation. This is a framework that is widely used by developers to provide smooth transitions and other effects as subtle user interface enhancements. Core Animation, along with OpenGL, OpenCL, Quartz Composer, and Core Graphics, are the frameworks that trigger automatic graphics switching.

If an application uses any part of one these frameworks, it will inform the system on launch during initialization. In the case of most Macs, the OS will set up the necessary hooks for effects that can be accelerated with the GPU that's available; other effects are handled in software. In the case of the new Core i5 and Core i7 MacBook Pros, the OS responds by switching on the discrete GPU and routing Core Animation effects to it. When all apps using those frameworks quit, the system switches seamlessly back to integrated graphics.

(Using an external display also switches to the discrete GPU. In this scenario, you are likely near an outlet already, so battery life should be less of a concern.)

These effects work just fine on even older Intel IGPs, such as the GMA950 used in older MacBooks and Mac minis, so it seems these apps switch to a higher-powered GPU unnecessarily. Many of those who got new MacBook Pros expecting a full day of untethered use were disappointed when they got something like five to six hours, and in some cases even less. Some users have complained in Apple's forums, and several readers contacted Ars directly, claiming that Apple's switching technology was using too much power when it wasn't needed.

Apple does offer an option in System Preferences to turn off automatic graphics switching, but it won't do what many users want. Instead of forcing the system to rely on the Intel IGP—therefore increasing battery life—it instead forces the NVIDIA GPU to remain active at all times. There's no Terminal command (or any other way) to force the Intel IGP to remain active via System Preferences.

(We have learned that a clever hacker found a way to tap into the AppleGraphicsControl sub-system and force either integrated or discrete graphics. Krieger told Ars that he has a custom build of his gfxCardStatus tool with switching built in, and hopes to make a version available by the time this is published.)

Counterintuitive

It may seem that the way Apple set up automatic graphics switching is counterintuitive, since the idea behind the switching is to offer better battery life. And if Core Animation is so widely used, why would that trigger a switch to discrete graphics?

To answer this question, it's worth looking at the philosophy behind Apple's design decisions. Apple's automatic graphics switching is designed to work with no user intervention of any kind—there's no switch to flip, no preference or setting to change (it's on by default), and no "whitelist" of apps to manage. Apple's system is also biased to give the best graphics performance whenever possible. The idea, as Apple explained it, is that the user doesn't have to do anything to always have as much graphics power as possible when an application can benefit from it. Even if that means there's a little more than needed, from Apple's point of view that is better than not having enough.

The argument against switching to the discrete GPU just to get a slightly smoother UI animation in a Twitter client is a sound one. According to Apple's data, though, the GT 330M in the latest MacBook Pros doesn't use nearly as much power as users might suspect. Battery life claims state that a new Core i5 or Core i7 MacBook Pro should run up to nine hours on integrated graphics if you're just browsing the Web or doing word processing. Running on the GT 330M full-time, though, the battery should last up to eight hours under similar conditions.

All this means is that in theory you should only see about 11 percent more run time if you force the system to use integrated graphics. In the best case scenario of Apple's decidedly light-duty "wireless productivity test," it translates to an extra hour of run time. It's not a lot of extra time, but it would sure be nice to have it when you need it.

Comparing the battery life claims for the last generation MacBook Pros (which topped out at seven hours), the new models should offer a 30 percent improvement in runtime under similar usage. Some of that improvement comes from squeezing a bit more capacity into the battery, but most of it comes from power efficiency increases in both the Intel CPU and NVIDIA GPU. So, while the way you use your MacBook Pro might not give you a full 8-9 hours away from a wall socket, in theory you should see a 30 percent boost over the time your previous MacBook Pro got running on battery power.

Putting it to the test

Theoretical performance improvements are of little use without a solid, repeatable test to prove them. Apple's "wireless productivity test" is designed to give consistent, repeatable results by using a standard script. The script loads several webpages in Safari and then "types" into a Microsoft Word document, and then repeats this process until the battery runs out. Apple does this testing with WiFi on and Bluetooth turned off, the display set to 50 percent brightness, and all Energy Saver settings that might put the display to sleep or spin down the hard drive turned off. This process is done three times on each test machine, and an average is taken for the three runs.

Most Ars readers are probably doing more than a little Web browsing and text editing, though, so we are currently developing our own automated battery benchmark. We plan to modify the same basic procedure that Apple is using by adding some other common apps to the mix, such as an instant messaging client, IRC client, Twitter client, and some type of image editor. Each of these apps will have tasks that have to run each time through the loop. We hope this mix of apps gives us a better approximation of the kind of usage that many of our readers put their laptops though in day-to-day work. (Additionally, we hope the test can be adapted to Windows and Linux platforms for future testing and comparison.)

We plan to run these tests on a few samples of newer hardware, on both the Intel IGP and with the NVIDIA GT 330M activated. We will also run them on the previous generation hardware for comparison. This should give clear data on what effect on battery life that a "normal" load has, as well as what running the NVIDIA GT 330M full-time does to the battery.

We'll follow up with the full results of our testing, along with our analysis.

why doesn't apple just put a status icon that shows when integrated graphics are turned off and replaced by discrete graphics. also give the user the ability to turn on/off the integrated/discrete graphics when they don't agree with the optimus switch.

why doesn't apple just put a status icon that shows when integrated graphics are turned off and replaced by discrete graphics. also give the user the ability to turn on/off the integrated/discrete graphics when they don't agree with the optimus switch.

This wouldn't match Apple's design ideals at all. Instead of "just working", and hiding any details the average user wouldn't be interested in, it would both reveal the detail -and- force the user to make a decision about something they, on average, wouldn't understand solidly.

The app that ruins it for me is Chrome/Chromium, it doesn't kick my MBP into the 330M right away, but once it does, you have to quit and re-launch Chrome to fix it. I just wish I could whitelist stuff. Hopefully they'll give developers a way to request the wimpier graphics.

Ideal solution would be to probably set it to be automatic by default, but give the option to force either the discrete or the integrated graphics in the System Preferences, same as the old model allowed you to choose.

Also, I just wanted to add that the test Ars will be conducting is one of the reasons I keep reading Ars. It will be nice to see some real numbers and not just more speculation and trolling.

I'm sad that this is going to blow up in Apple's face when it really all comes down to Intel's anticompetitive practices. Apple, Nvidia, and Asus wouldn't need graphics switching systems if Intel had not forced manufacturers to adopt their lousy graphics platform. They all tried to spin this as a positive to tout their solution. They didn't have an alternative. At the end of the day we should all be pointing the finger at Intel for this unnecessary "innovation" in graphics architecture. It's sad that the very technology designed to extend battery life is doing the reverse. Nice job, Intel. :/ I'm sure Apple will fix this in time.

I'm sad that this is going to blow up in Apple's face when it really all comes down to Intel's anticompetitive practices. Apple, Nvidia, and Asus wouldn't need graphics switching systems if Intel had not forced manufacturers to adopt their lousy graphics platform. They all tried to spin this as a positive to tout their solution. They didn't have an alternative. At the end of the day we should all be pointing the finger at Intel for this unnecessary "innovation" in graphics architecture. It's sad that the very technology designed to extend battery life is doing the reverse. Nice job, Intel. :/ I'm sure Apple will fix this in time.

The problem is that Apple's current way of activating the discrete GPU is too aggressive, defaulting to the discrete GPU for basic Core Animation GUI tasks that run just fine on previous gen Intel IGP. How is this related to Intel or Intel integrating GPUs into the CPU? The based on the current algorithm, the problem would occur even if the IGP were from nVidia. Apple needs to figure out a way to automatically differentiate between light GPU acceleration tasks such as Core Animation used for an app's GUI that can run fine on the IGP and heavy GPU acceleration tasks for the discrete GPU or offer a way for the user to force the IGP to be used to conserve power.

Perhaps the auto switching should be related to the way you have your Energy Saver preferences setup. If you are plugged in, always run on discrete. If on battery you should have the option to do Performance setting or Efficient setting. Maybe a blacklist in addition to a whitelist too.

I'm actually amazed at the number of people who apparently can't find a power outlet once or twice every 8 hours. Seriously though, is it really that important to have 8 hours battery life, save the odd plane trip? Are you all working in the desert?Personally, I have a Dell studio 17" w/ video card (and no switchable graphics). I can get about 2 hours of web browsing if I need to, but for the most part I'm doing work in 2 or 3 different places, all of which have power outlets.So, I guess my question to other commenters is: Is this something that really is a problem for you? If so, why not get a Macbook Air or something super light with an SSD?I'm not trying to be snarky, I'm just wondering if there really is that big a segment of people who this problem affects.

I'm actually amazed at the number of people who apparently can't find a power outlet once or twice every 8 hours. Seriously though, is it really that important to have 8 hours battery life, save the odd plane trip? Are you all working in the desert?Personally, I have a Dell studio 17" w/ video card (and no switchable graphics). I can get about 2 hours of web browsing if I need to, but for the most part I'm doing work in 2 or 3 different places, all of which have power outlets.So, I guess my question to other commenters is: Is this something that really is a problem for you? If so, why not get a Macbook Air or something super light with an SSD?I'm not trying to be snarky, I'm just wondering if there really is that big a segment of people who this problem affects.

Keep in mind that it is 8 hours of "wireless productivity" (ie: Safari and Microsoft Word). When I'm running something more stressful than a text editor (compiling code, engineering software, etc.), I get significantly less than 8 hours. Additionally, as a student, I might not have convenient access to an outlet for for several hours at a time because many of the buildings on campus are old and not wired for students with laptops. "8 hours" of battery life helps me to get through long classes and do somewhat battery-intensive work. Even better is when long battery life allows me to leave my power adapter in my apartment instead of carrying it around in my bag. I enjoy not having to have a power adapter with me at all times and be on the constant lookout for an outlet or keep my brightness at a hair below visible in order to be able to use my laptop all day.

That said, I will probably have very little use for 8+ hours of battery life once I graduate.

Keep in mind that it is 8 hours of "wireless productivity" (ie: Safari and Microsoft Word). When I'm running something more stressful than a text editor (compiling code, engineering software, etc.), I get significantly less than 8 hours. Additionally, as a student, I might not have convenient access to an outlet for for several hours at a time because many of the buildings on campus are old and not wired for students with laptops. "8 hours" of battery life helps me to get through long classes and do somewhat battery-intensive work. Even better is when long battery life allows me to leave my power adapter in my apartment instead of carrying it around in my bag. I enjoy not having to have a power adapter with me at all times and be on the constant lookout for an outlet or keep my brightness at a hair below visible in order to be able to use my laptop all day.

That said, I will probably have very little use for 8+ hours of battery life once I graduate.

Fair enough, I think the student angle is a good example, and also evidence that I haven't studied in a long time

-Does the 13 inch macbook pro have graphic switching? I purchased one, and assumed that it did.-Where is the option in system preferences that turns the 330m graphics on full time? I tried to find it under 'energy saver', but didn't see it.

I downloaded the gfxCardStatus app, and it's displaying an 'n' immediately after reboot, without any applications running on startup. And yeah, I've noticed that my battery life is significantly less than advertised!

-Does the 13 inch macbook pro have graphic switching? I purchased one, and assumed that it did.-Where is the option in system preferences that turns the 330m graphics on full time? I tried to find it under 'energy saver', but didn't see it.

I downloaded the gfxCardStatus app, and it's displaying an 'n' immediately after reboot, without any applications running on startup. And yeah, I've noticed that my battery life is significantly less than advertised!

Web browsing is not a low cpu or low power activity. You could do worse, but browsers consume copious swaths of RAM and have no qualms about monopolizing your shiny new cpu for several seconds to render a complex page or run some fancy javascript.

Since nobody wants to go back to 1997 and its static webpages, expect web browsing to drain your battery.

Although I understand their design philosophy, I don't think providing a means for users of a pro level machine to - heaven forbid - make a decision regarding which GPU to use is asking too much. I'm having difficulty believing that there are many people willing to put down the additional cash for the higher end MBP's who don't already know what a GPU is and why they would need the additional graphics capabilities... I'm also getting really tired of Apple snubbing their power users in favor of simpletons who should be getting a 13" or an iPad. Even if they did allow users to decide, that doesn't mean they have to force them to make a desicion - just keep the default switching behavior while providing users with an option to drive stick.

why doesn't apple just put a status icon that shows when integrated graphics are turned off and replaced by discrete graphics. also give the user the ability to turn on/off the integrated/discrete graphics when they don't agree with the optimus switch.

This wouldn't match Apple's design ideals at all. Instead of "just working", and hiding any details the average user wouldn't be interested in, it would both reveal the detail -and- force the user to make a decision about something they, on average, wouldn't understand solidly.

I disagree. The average user is neither interested in changing the 'keyboard layout' on a MacBookPro and yet he/she can change it. It would be an oversimplification to say Apple would force the user to make a decision. The graphic switching can easily have a configuration option somewhere in the guts of the system preferences, with the default option matching the automated switching.

I'm actually amazed at the number of people who apparently can't find a power outlet once or twice every 8 hours. Seriously though, is it really that important to have 8 hours battery life, save the odd plane trip? Are you all working in the desert?...If so, why not get a Macbook Air or something super light with an SSD?

The reply by ryanplus above is a good reason, as you mentioned. For me, I'd just like to not worry about it. I'd like to be able to open up my MacbookPro, on my lap, on a table, in a coffee shop, and have enough juice. I might want to just surf the web for a while, but I might want to edit some pics in iPhoto, or work on something in iMovie. I don't want to be afraid/worried about my battery dying. At the end of the day, I plug it in, then start over tomorrow.

As it is now, with my non-SD slot 15" MBP, (before the 7-hour non-removeable upgrade), I get 2.5 hours or so, only surfing. And that's annoying, and limiting; I don't want to pull out the power cord and find an outlet.

Also, I want the power of a Pro, or I'd love to use an Air. If I can justify an iPad for non-power needs, well then...

I've tested my batterylife twice. With brightness on 50%, Safari browsing, E-mail, Word:Mac even occasionally listening to music via iTunes and at least 30 minutes running VMWare fusion with windows 7.The results are:First try: 8h15mSecond try 8h35mBoth are perfectly between 8 and 9 hours. Actually I would expect to be even less because I knew VMWare would kick in the NVidia.Granted, when doing video editing in Final Cut Express or playing video within iTunes, this will decrease batterylife significantly, but it's still much better (6+ hrs) than a lot of laptops out there.

Actually I'm very satisfied, although I do understand that some of you out there are using different apps that will consume more.

Why do we need two graphics cards at all? Shouldn't the high end one be able to downclock on the fly? I mean really.

Mostly because one of them (the crappy intel one) is integrated directly into the CPU package.

Since the integrated one isn't good enough for highend 3d stuff, a seperate discrete GPU is required, and since the integrated GPU is there, why not use it when you can? (even downclocked, the discrete GPU is going to eat a bunch more power than the integrated one).

Since the integrated one isn't good enough for highend 3d stuff, a seperate discrete GPU is required, and since the integrated GPU is there, why not use it when you can? (even downclocked, the discrete GPU is going to eat a bunch more power than the integrated one).

Because it causes exactly these sort of problems? Why the hell would anybody want some sort of complex graphics switching software running? It's just asking for trouble IMO.

The problem here is Intel not releasing a full range of chips without the IGP while at the same time making the IGP so crap that you need an additional GPU.

To all the complainers: I'm wondering why this is such a big deal, when you already opted to spend roughly 2x the cost of a cheaper Macbook in the first place? As a Macbook Pro user myself (and "Powerbook" user before that), I know that the biggest motivator for deciding to move up was graphics-related (both in the respect of getting a bigger, better LCD screen AND getting faster video chipsets).

If you just spent the $'s for a Pro notebook and your biggest concern is the fact that it keeps opting to use the superior graphics chipset you paid a premium for when you run apps like Twitter? Maybe you should re-evaluate your needs?

I'm still using a 15" Macbook Pro with the removable battery, and I'm lucky to get any more than 2 hours of runtime on it, doing usual tasks. This whining about getting "only 5 hours" is laughable, compared to what I'm used to.....

That said, this is the first attempt at doing the technology this way on Apple's part, and 3rd. parties need a little time to figure out how it all works too. I can see where Apple could at least offer developers a way to have their app signal the system to tell it to "please stay on integrated graphics mode for this program". And it sounds like gfxCardStatus and other such utilities will give "power users" more flexibility too.

why doesn't apple just put a status icon that shows when integrated graphics are turned off and replaced by discrete graphics. also give the user the ability to turn on/off the integrated/discrete graphics when they don't agree with the optimus switch.

Apple didn't do this because they were upset with Intel and the consumer is given less flexibility because of the tantrum Apple is throwing about intel graphics. There is so much negative press about "crappy" intel integrated graphics that is unfounded in my opinion. Apple wants to remove the ability to benchmark the machines because, I suspect, the intel graphics will wind up being very good. The i5 graphics perform well on the windows 7 benchmarks and I suspect they will do just as well on os x. Apple wants to take the position of "intel graphics just aren't good enough" but if they are shown to be on par with the 9400m then their position is nonsense. Apple will relent and provide a user switch for running on intel only (to save battery) and the sooner they do, the sooner they can put the public tantrum in the rearview mirror.

The app that ruins it for me is Chrome/Chromium, it doesn't kick my MBP into the 330M right away, but once it does, you have to quit and re-launch Chrome to fix it. I just wish I could whitelist stuff. Hopefully they'll give developers a way to request the wimpier graphics.

AFAICT, it's Flash that's kicking on the graphics switching. Since Flash plug-ins launch on demand, it doesn't always switch whenever you use Chrome. Not sure the exact mechanism that makes it stay switched, even if Flash processes are closed.

I know some developers are already trying to scrub Core Animation use from their UIs to keep from activating graphics switching. However, our understanding is that most users aren't going to see such a huge improvement in battery life from using the IGP all the time.

That might change in the future, however, when the next Core iX procs have the IGP on the same die as the CPU.

Its sad but the low life bastards at Apple got me once - I picked up a MBP on my trip to LA (the groove I believe).

I got sucked into the 7hrs battery life promise, got it home and (consistently) didnt get that battery life after following the specs on the apple site on how they got it (dimness, programs open etc), I always got around 3-5hrsspeaking to the (fuckwits) called "geniuses" or "apple support" was no help either, finally just to see the results i fully charged it, put it next to my wireless and left it on without touching it.. no programs open, nothing. I got just over 6hrs.Then did the same test but with flash blocked only safari browsing: 5hrs.

After cursing Jobs and and the rest of the lowlifes at Apple, I finally sold that piece of shit (took a while to find a fanboi)... after I told the next guy who was buying it that Apple are a bunch of lying scumbags with regards to the battery life (and other things), he said he already knew that but likes flashy things and only needs a proper 3-4hrs of battery.

Fine by me.

He's happy, i learned my lesson - never buy anything Apple EVER... and testify.Just happy I pirated every last bit of software/music/video for that POS or I would be seriously bummed for spending more

Everyone lies about battery life. Battery life is like getting picked up by a beautiful blonde on the internet. When you finally see it in real life, you're likely to be disappointed.

Like the government group responsible for metering fuel economy in vehicles, there's a simple battery of tests. Is it a true "real world" experiment for a heavy user? No. It is somewhat realistic, at least in proximity to a basic user? If we're talking Apple, yes, if we're talking Toshiba, Dell, others, not so much, with a few rare exceptions.

At least apple does their battery life test with the display at 50% (not a bad setting, wife keeps hers at 55%), WiFi on, and ensures the HDD spin-down and other power saver settings do not kick in. It;s not exactly "real" user load, but it's a consistent user load, and no users work that way. You'll peg out the CPU for a few minutes, pop around between a few different apps, but they you'll write for a while, read for a while, get stuck like me in comment loops for hours, and the systems will mostly idle, even with multiple apps running.

Others? You're lucky if the screen brightness is even considdered "on" at all, wifi and anything that could task the system is off, and in some cases they even set some aggressive CPU throttling and power savings settings to get near their numbers.

We're not testing battery life with Torrents and servers running, and some game running macros in the background while you edit images, that's completely unrealistic. But a reasonable yet simple user load should be expected for peak "battery life" testing, and as for 3D graphics enabled numbers, the expectation would be something on the order of playing WoW during the time tested.

Apple made some odd claims in the past (nothing short of consistent with everyone else though). However, when i buy a new device, sometimes Apple sometimes not, one of the first things I do is run the battery through a few cycles as a basic test. Apple's stuff is usually within 10% or so of the published times. HP/Toshiba/Acer usually come in about 20-30% low it "stock" settings. I've had a Sony system I returned because it got less than half the battery life stated at reasonable settings, far less than 2 hours, and not even when gaming. Actually I had it exchange dand the replacement did the same thing, so I returned it and bought a cheaper gateway that actually had faster components, and lasted over 3 hours.

Not that 8 hours versus 9 hours seems like such a big deal (if verified), but now all the people who ragged on the Optimus whitelist must eat their words. It always puzzles me why anyone rejects allowable customization. For the nontechnical they just won't customize it.

why doesn't apple just put a status icon that shows when integrated graphics are turned off and replaced by discrete graphics. also give the user the ability to turn on/off the integrated/discrete graphics when they don't agree with the optimus switch.

This wouldn't match Apple's design ideals at all. Instead of "just working", and hiding any details the average user wouldn't be interested in, it would both reveal the detail -and- force the user to make a decision about something they, on average, wouldn't understand solidly.

I disagree. The average user is neither interested in changing the 'keyboard layout' on a MacBookPro and yet he/she can change it. It would be an oversimplification to say Apple would force the user to make a decision. The graphic switching can easily have a configuration option somewhere in the guts of the system preferences, with the default option matching the automated switching.

Which is not a "status icon" showing the details of what's going on. Providing a way, somewhere, to adjust the switching behavior is a different question entirely.