disable animations in Skim to avoid using the MacBook Pro external (power hogging) GPU


My work laptop is a 15” MacBook Pro from the current generation (first batch with Nehalems). This laptop includes two GPUs: an integrated one from Intel and an external one from Nvidia. The integrated unit has generally lower performance but generally lower power consumption as well. The external unit has generally higher performance but generally higher power consumption.

OS X has a pretty cool feature where it will seamlessly switch between the two cards based on current software performance requirements. However, as with any automagical switching, the switching software sometimes makes a bad decision, or simply doesn’t have enough information available to make a good decision. So I use gfxCardStatus to figure out which unit is currently in use. It shows me which unit is in use, as well as which applications (or the external display) are forcing the Nvidia card to be used at any given time. It also lets me force one unit or the other to be used instead of dynamically switching between the two.

Here’s a (trivially incomplete) list of applications that force external graphics usage. Among them is Skim, my favorite PDF reader. Oddly, it only uses the higher-powered graphics after searching the document. This annoyed me greatly because I tend to leave the app open for long periods of time, and I also tend to search fairly often.

Luckily, a recent version of Skim added a new hidden preference to disable animations. This seems to eliminate the dependency on the external display, and thereby save my battery power. Just type the following command into your terminal and restart Skim:

defaults write -app Skim SKDisableAnimations -boolean true