13 comments

[ 4.2 ms ] story [ 44.0 ms ] thread
Word of warning: I ran this on my MBP with external display, and switched to integrated mode. After that, my display wouldn't update anymore, and I had to VNC into my computer to change the setting back to dynamic.

A "test mode" which reverts to the old setting after X seconds might be useful.

I've been using this utility for a while, no external displays will work under integrated mode. This has caused some confusion for me in the past when I was trying to connect to a projector in a meeting and realized later why the external display was not being picked up.
I have never got the automatic switching to work, but I only switch for games, so I'm not all that sad about it.
Works great on my computer. Some apps (looking at you, Twitter and Sparrow) don't take the switch very well and the UI stops updating until you restart them.
That means any app that adopts the new TwUI that Twitter released for OS X will have the same problem, no?
Can someone explain the use-cases for this to me?
Some applications will cause a clean OSX install to switch to the discrete graphics card, even while you are running on battery. For me the tipping point was Chrome - as soon as you hit a site with flash, the discrete graphics is enabled, and doesn't get disabled until you kill Chrome entirely (there was a bug about this that was WONTFIX at one point, not sure what happened).

Your choices at that point are either disable flash, live with having your batter life cut in half, or install GfxCardStatus to enforce a saner policy.

Edit: Here is the bug I mentioned: http://code.google.com/p/chromium/issues/detail?id=43706

> Your choices at that point are either disable flash, live with having your batter life cut in half, or install GfxCardStatus to enforce a saner policy.

Or respond to Chrome's WONTFIX with your own WONTUSE.

From my experience, Chrome runs entirely on a discrete card regardless of whether I am viewing Flash content or not. Has this been updated to provide switching for Chrome?
I hate using the extra video card power when I don't need to. For video games, video processing, etc it is necessary to turn it on and then turn it off when those aren't being used. Unfortunately without this utility it requires that you log out of your account to do so, wich inevitably means you need to close all applications running. This fixes that. Unfortunately some things don't always switch over so gracefully (I'm on v1.8.1), but usually restarting those specific apps clears it up.
OSX has an automatic switcher between the IGP and a discrete GPU. Think Optimus (on windows).

A major difference however is that Optimus switches based on a software list, whereas OSX switches based on APIs used. And never switches back until the application(s) which triggered the switch is closed.

This has the unfortunate effect that some software trigger the switch even though they're just using some nice transitions/animations (Twitter/OSX, Sparrow and Reeder all trigger the discrete GPU for instance), because these are flagged as switchers. And of course the discrete GPU burns more power than the IGP.

gfx provides two services:

* Tell the user whether he's on discrete, and which application(s) triggered the switching

* Allow users to force things one way or an other (and setup different configurations depending on whether using battery or AC). While this is an advanced feature and can lead to weird results (MBPs don't support a second screen via the IGP for instance, so nothing will happen and if you try to switch entirely you'll just have a black screen. And applications which actually need the discrete GPU will freeze or crash) it's quite useful.

FWIW one of the major issue is that Flash can trigger the switch (I've never investigated too much, but I guess one or two precise functions use flagged OSX APIs), and in that case to switch back without gfx you have to ensure the relevant tab is closed and restart your browser.

On my 2011 15" MBP i7, I think I'm actually seeing less battery life on integrated than discrete. Anyone else seeing the same behavior?
This depends entirely on what applications you are running. Some applications which are optimized for GPUs will force your integrated card to run more hotly because it has to perform more operations compared to your discrete card. Therefore, it's actually more efficient to be using your discrete card when watching a video than it is to be using your integrated card. That is why you may see less battery life when selecting specifically your integrated card.