Better battery life Macbook Pro with gfxCardStatus
Update: Just installed Mac OS X 10.8.4 and now it works much better. Fantastical, Growler, Hardware Grower, Scrivener and Tweetbot now works without switching cards.
Later models of Macbook Pro computers comes with dual graphics card. This makes it possible to use a low performance card when not using graphics intense applications, and automatically switch to the faster, but less energy efficient card if needed. But how do you know which card is currently active? There is a great application available called gfxCardStatus that shows you when the computer switches, and even uses notifications.
If your on the move and on battery power, you can force the computer to use the Integrated less power draining graphics card. If you need full speed, just select the Discrete card. The third alternative is to have it in the normal Dynamic Switching Mode. But there’s a snag when using Switching Mode. A lot of applications forces the Macbook Pro into using the Descrete high performance battery draining card, for no apparent good reason. Let’s examine that.## Hardware
This problem looks like it’s specific to “older” Macbook Pro machines. Newer (Retina display) Macbook Pro’s don’t have this problem. So it looks like this is a problem with the OS, not the developer.
After getting a response from the developers of Fantastical, it seems like the culprit is calls to CALayers.
Using Core Animation is what will trigger the discrete GPU in this case. That’s kind of a requirement to achieve smooth effects in a Mac app these days.
Users commenting about this sees different results than mine because of newer hardware. My Macbook Pro is a model:MacBookPro6,2 and newer machines does not have the same problems. So is this a bug in 10.8.3? I’ll try to test it on a Retina Macbook Pro.
Battery draining applications on Macbook Pro
Here’s a couple of applications that doesn’t need graphics power, but still kicks in the more powerful but battery draining graphics card. I’ve only chosen applications that I often have running in the background. I also excluded obvious applications that really need the extra power from the discrete graphics card.
Why do an application switch to the power draining mode?
It’s been a couple of years since I did Cocoa Objective-C programming, but reading up on this problem, there are a couple of things that can trigger a switch.
Triggers
- Application uses OpenGL
- Connecting a second display requires the Discrete card
- Using CALayers can trigger a switch
Dropbox
You start Dropbox and it instantly forces the NVIDIA GeForce GT 330M to kick in, all the time! To display an icon in the menu bar? I’m depending on Dropbox all the time, but now when I need to work on battery power I have to quit Dropbox. This should be easy for them to fix.
Update: Check out the response from Dropbox support.
Byword
If I start Byword by opening a document, the machine uses the lower power graphics card, but if you open the iCloud open dialog box, the Discrete cards kicks in and won’t switch back until you quit the application. So there’s at least a way around this, which is good because this is my favorite Mac blog writing app and use it a lot.
Update: Check out the response from their support. Gotta love Byword!
Fantastical
Like Dropbox, Fantastical has been a staple in my menu bar. But this is another application that forces a switch to the more power hungry card. And let’s face it, Fantastical shouldn’t have to use the faster card.
Growl
Another application that shouldn’t need to start the advanced graphics card.
Chrome Browser
If you want to save battery when on the road, Safari is a better alternative to Chrome, because it also forces the more powerful graphics card to kick in. Safari doesn’t.
1Passwordhttps://agilebits.com/onepassword)
Yet another program that forces the faster more power hungry card to start. But should it really be necessary? I rather have better battery life.
Update: Response from their support.
Scrivener
Scrivener has a similar problem as Byword. As soon as you open the file browser, the Discrete card kicks in and stays active until quit. Yet another great app that unfortunately is the type of app that’s active a lot on my machine.
DayOne
This is my favorite diary app on both iOS and the Mac. It also kicks in the power hungry card immediately. But because the Mac version is behind feature-wise, I usually do my writing on the iPad anyway. But when they update the app with tags, weather and location data, maybe they could spend a while trying to fix this problem.
Tweetbot
Immediately switches over to the Discrete card. This is unfortunate because this is yet another application that’s usually opened all the time. So when on battery power, I’ll use Safari instead.
Keynote
This makes sense. It’s a graphics intense application. Apple Pages does not use the power hungry card. And if such an advanced app can manage with the slower card, so should Dropbox and Fantastical.
Reeder
Switches over to the power hungry card. This application is a bit up in the air at the moment due to the shutdown of Google Reader. But they’ve updated the iPhone version for syncing to my new replacement service Fever, so if they implement that in the Mac client it will become a staple application again. But I will not have it running in the background when on battery.
Transmit
Maybe not the most used application when on battery power, but it is good to know that it will decrease the battery life if left open.
Skype
Here’s a program I guess a lot of people have running when out and about. But when selecting user listings or anything else, it switches over to the battery draining card.
Responses from the developers
I’ll try to send a bug report to all the applications above and keep this section updated with responses (if there will be any).
Byword Response ###
Yes, coming next update, Byword will no longer use the dedicated graphics card.
You do provide a great insight regarding when Byword causes the switch. When chasing this problem we never quite understood what triggered the issue because on our machines it never did. Thanks for that.
Jorge
1Password response ###
Thanks for taking the time to let us know about this.
I’ve tested this on my own computer, which is a 15" Retina MBP. It’s running 10.8.2 still (need to run some backups before updating to 10.8.3) and I was not able to recreate this. In fact, I had Skype, Fantastical, 1Password, Dropbox, Reeder, Tweetbot, and Transmit all running. Which is quite a full list based on your blog post.
Since I was mostly concerned with 1Password I did a variety of things to try to coax it into switching graphics modes. I tried both the website version (3.8.20) of the app and the Mac App Store version (3.9.6). Neither exhibited any of the graphics card switching you mentioned.
I had our CEO give it a try as well, he’s running 10.8.3, otherwise, same MBP as myself. He was not able to get it to trigger.
So, that makes me believe that at least to some extent, this may be based on graphics drivers. Some computers may have drivers that are triggering the discrete graphics incorrectly. It may also be that our test is slightly flawed here and that the Intel HD 4000 is capable of more than previous models and therefore graphics switching isn’t necessary on newer devices. I believe you mention that newer devices may not see this behavior, I assume it’s due to the integrated graphics card, but cannot confirm directly, merely a guess based on the limited knowledge I have.
Before I dig in more, could you confirm which version of 1Password you’re using?
Also, does just opening the app trigger the discrete card, or do you need to do anything in particular to get it to do it? If so, what steps did you take to trigger it?
Cheers!
Kyle Swank
AgileBits Support
Dropbox Response ###
Hi Jack,
Thank you for contacting us! This seems to be a bug introduced by the Mountain Lion 10.8.3 upgrade on 2010 Macbook pros and is not limited to Dropbox.
A lot of other applications on your Mac will now cause the discrete graphic card to be on as you correctly pointed out. For now the only solution is to revert back to the previous Dropbox build. Here’s the link:https://dl-web.dropbox.com/u/17/Dropbox%201.6.18.dmg
We’re looking into a possible fix, but it’s a little unclear how complex it will be!
Thanks for bringing this to our attention and for the amazing bug-hunting work!
Best,
Stefano
Craig Hughes says
Dropbox doesn’t activate the Nvidia gfx on my retina mbp. Chrome doesn’t always; I think it’s actually the Chrome flash plugin that kicks it off or something. Most of the time, it’s not switching.
Jack Zimmermann says
Interesting! I tested it on a mid 2010 Macbook Pro 15″ i7. So it seems there’s a difference depending on which model. I’ll try it out on a new Retina Macbook Pro tomorrow.
Arseniy Ivanov says
Chrome developers refer to some sort of stability issues when using integrated video on mid-2010 MacBook Pro’s, and have decided to always force discrete GPU on these models: https://code.google.com/p/chromium/issues/detail?id=143435.
You can, however, override this behaviour: go to chrome://flags/, enable “Override software rendering list,” restart the browser.
I haven’t had any problems with this — yet; although I’ve had my laptop repaired for Intermittent black screen or loss of video, http://support.apple.com/kb/ts4088.
SirAnn says
Only the mid 2010 models with 15 and 17″ seems to bee affected. Hopefully it’s really a bug and not a feature…
Cerebro says
I have a mid-2010 model MacBook Pro and, after upgrading to 10.8.3, had the same issues with Dropbox triggering discrete graphics. I don’t use any of the other apps mentioned here (except Chrome, but I’m used to the constant switching on that), so I haven’t had as many problems as others. I downgraded Dropbox, per their suggestion, but I’m really hoping there will be a fix soon.
Another problem on 2010 hardware that isn’t mentioned, here, but worth noting is that Dictation, now, triggers discrete graphics (Why?!?). After one starts dictation, the only way to return to integrated graphics is to open Activity Monitor and force quit the Dictation process. Completely unacceptable! I have already complained to Apple about this one.
SirAnn says
for Dropbox is an update (beta) update available that fix that problem. Hopefully the other ones are doing the same (maybe they ask Dropbox what they did to fix it)
Jack Zimmermann says
Way to go Dropbox. It’s insane the difference in battery life after quitting applications that uses the NVIDIA card. I have to put Growler on the list as well.
Jack Zimmermann says
Where can I find the beta version?
Sören Textor says
https://forums.dropbox.com/topic.php?id=98673#post-536820
Edi Venturin says
Interesting findings… My Mac, with 10.8, started to restart under certains conditions (eg. whenever I try to add/edit an event on Fantastical) 🙁