I use my early 2011 15" MacBook Pro for nearly everything under the sun - I often monitor which GPU is active using gfxCardStatus. I've noticed some idiosyncrasies in how OS X decides when to switch graphics processors:
- MOST apps that require X11 will trigger auto-switching, but not all
- It seems every app that requires java will trigger the auto-switching, though I've not tested this with non-GUI apps.
- Some apps (like Mathematica or XCode) which COULD require a high-performance GPU will force movement to the discrete card straight away, even if only fired up for a trivial task (dynamic switching in-app would be cool, off topic)
- Many legacy apps (silverlight) which have no business asking for my discrete card will force it regarless
- Finally, some apps (GIMP, in particular) which could definitely benefit from a discrete GPU actually don't ask for it at all.
Does Apple document how it chooses when to switch cards? Can apps make an OS-level request for the discrete card if it exists?