Apple’s high-end MacBook Pro systems have two Graphics processors: an “onboard” one that uses less energy, and a “dedicated” one that is optimized for advanced graphics processing. In normal cases, your Mac will dynamically switch between them based on the demands of applications you use, but this means that any program may spur the system to keep the advanced graphics processor active, and thereby drain your battery life.
To see what programs are doing this, the first option available to you is Apple’s Activity monitor. Open this utility (in the Applications > Utilities folder) and then click the Energy tab. In here you will see a column labeled “Requires High Performance GPU” which will say either Yes or No next to a program, if it is demanding use of your dedicated graphics processor. Click this list to sort it, and you will see what programs have a Yes in this column. You can then quit them if you are not using them.
One additional benefit of gfxCardStatus is its ability to bypass your Mac’s limitation of having no option to fully disable the onboard graphics processor, regardless of what your applications are demanding of the system.

The gfxCardStatus menu displays your current GPU as an icon, and gives you options to choose your system’s GPU behavior.
Most applications in OS X that demand use of high power GPUs will run on systems like the Mac Mini or MacBook Air, which have only an onboard GPU and no dedicated one. This means that even though they prefer to use the dedicated one (and run best with it enabled), there is technically no requirement for them to do so. Unfortunately, Apple does not have a “low power mode” that disables the dedicated GPU, and instead gives priority to the application. Furthermore, even though there is a setting in the Energy system preferences to disable GPU switching, this will force the use of the dedicated GPU, instead of turning it off.
With these options available, you can at least monitor your Mac to ensure your system is not constantly using the GPU, and quit those that might be draining your battery. This is especially true in cases where you might not realize your dedicated GPU is even in use. For instance, if you open the Grapher program, even with all windows closed, minimized, or otherwise in the background, this program will demand use of the advanced GPU and lower your overall battery life.
The current version of gfxCardStatus, v2.3, is from 2012. Cody Krieger’s website lists its requirements as “2008-2012, 15-17″ dual-GPU MacBook Pro”. But it’s working great on my 2013 15″ dual-GPU MacBook Pro running OS X 10.9.5 Mavericks. I haven’t tested it on Yosemite yet.
It’s working fine here on Yosemite 10.10.2, MacBook Pro Retina 2012.
You also need to ensure that the “Automatic graphics switching” check box is enabled in the “Energy Saver” system preferences dialog.
If it is unselected, then you will be using the dedicated GPU at all times and in all circumstances, which could result in shorter battery times.