The MacBook Pro Review (13 & 15-inch): 2011 Brings Sandy Bridgeby Anand Lal Shimpi, Brian Klug & Vivek Gowri on March 10, 2011 4:17 PM EST
The dGPU: Killing Battery Life
The 15 and 17-inch MacBook Pros have a discrete GPU that only turns on if you fire up an application that really needs it—at least that's how it is supposed to work. In practice, the discrete GPU takes over control if your application uses any one of a number of frameworks—and some of the time, the dGPU simply isn't necessary.
Case in point, launching Chrome won't trigger a dGPU switch but the moment it encounters Flash the discrete GPU will take over. The bad news is that even if you close all Chrome windows, the dGPU won't power down until you quit chrome entirely. The same is true for Photoshop. Launch the application and you're still on the iGPU. Actually open up an image and the dGPU takes over. Even if you close all open images and just leave the Photoshop application open, the dGPU won't relinquish control. FaceTime and anything using the integrated camera also require the dGPU, despite it being totally unnecessary.
If you connect any external display to the 15 or 17-inch MacBook Pro that also forces the dGPU on, at which point both the integrated panel and external display are driven by the dGPU. There is no funny frame buffer copying going on, both the integrated and discrete GPUs have their own connection to the display.
Apple also fails to provide a way of turning off the dGPU by default—the best you can do is shut off the iGPU and just use the dGPU entirely. Thankfully Cody Krieger's gfxCardStatus tool gives us exactly what OS X does not. Version 2.0.1 adds support for the 2011 MacBook Pros.
I'm going on and on about the dGPU because it's state can seriously impact battery life. The numbers below should help put that in perspective for you:
|Impact of Discrete GPU on Battery Life|
|15-inch 2011 MacBook Pro||Light Web Browsing||Flash Web Browsing|
|Integrated GPU (Intel HD 3000)||8.85 hours||7.03 hours|
|Discrete GPU (AMD Radeon HD 6750M)||5.67 hours||2.97 hours|
Even just browsing the web, the dGPU being on drops battery life by 35—60%. Under full CPU load I suspect the percentage difference would be smaller, but still significant. The worst part of this all is that without gfxCardStatus you can negatively impact battery life by doing something completely innocent like accidentally leaving an application open. Given how much OS X is tailored to simply closing windows when you're done with them and not quitting applications, an overly aggressive dGPU can really be an issue.
Thankfully we do have gfxCardStatus but there's honestly no reason Apple shouldn't include this functionality with OS X from the start.