Switching Video Cards on Your Macbook Pro

If you have a unibody Macbook Pro in the 15″ or 17″ models, then you probably have two video cards. In the case of my Macbook Pro, I have an nVidia 9400m and an nVidia 9600m GT. By default the 9400m is enabled. For the most part this is perfectly fine for my usage, but sometimes the extra power of the 9600m GT would be really great, especially when I don’t need to worry about the battery usage, such as if the power is connected. I always wondered how to switch video cards though once I realised that it didn’t do it automatically.

I finally got round to looking up how to actually do it, as there is nothing obvious in the System Preferences about it.

Turns out, you just need to go into your System Preferences, then hit the “Energy Saver” button to be taken to the Energy Saving settings.

OS X Energy Saver Settings Pane
OS X Energy Saver Settings Pane

The graphics option

By default the “Graphics” option is set to “Better battery life”, however as you can see from the screen shot on the right, I am now running on the “Higher performance” setting.

This option is in essence asking, no do you want to use the lower power graphics card, the nVidia 9400m (Better battery life), or do you want to use the higher power graphics card, the nVidia 9600m GT (Higher performance).

To me, this seems a bit unclear, and I have to wonder why it is worded this way and why it is even in this section. To me it seems like it should be perhaps in the display settings section.

Upon thinking about this more though, it does make sense. I’m only thinking display settings because on Windows, the display settings show what graphics card is running what display. In OS X though, Apple aren’t trying to say, hey we’ve got two graphics cards here, they are trying to say, you have two options to make either a big difference in your battery life, or a big difference in your performance. This is especially the case with Snow Leopard as it allows the graphics card to be used more for general purpose computing with OpenCL. So, it really does come down to a matter of energy saving, not what hardware is being used to give those savings.

Log out to change your graphics settings
Log out to change your graphics settings

Log out

Wait, what?

That’s right, when you want to change the graphics setting, you have to log out. This is an unfortunate design issue as it means that you have to close everything down before you can change it over. Fortunately it’s not a full reboot, it just logs you out and back in. Still though, it would be nice to just be able to select the alternate option and have it happen automatically without needing to do anything further.

I realise that particularly with OpenCL there are going to be some issues with switching graphics processors on the fly, but I see no reason why it couldn’t be enabled, take over new jobs, switch the old jobs to the new processor and then switch the old processor off, it could involve some screen flickering while the controller is switched but surely that could be done?

Does it make a difference?

Yes, it absolutely does. The 9600m GT results in a much faster experience, especially when using a virtual machine as well.

As for battery life, there is a difference here as well, it seems to me to be between half an hour and an hours difference depending on what you are doing.

Leave a comment

en_AUEnglish (Australia)
es_ESEspañol en_AUEnglish (Australia)