The Secret Behind Apple's New MacBook Graphics

Image for article titled The Secret Behind Apple's New MacBook Graphics

The new Intel Core i5/i7 MacBooks come with "automatic graphics switching technology" to instantly toggle between Intel's onboard graphics and more powerful Nvidia hardware. Sound familiar? Well, weirdly, it's not Nvidia's Optimus switcher—it's something entirely new.


Nvidia's Optimus, which allowed for basically what Apple is talking about here, was—and apparently, is—a Windows-only solution. And even on Windows, it has some irritating limitations, particularly a requirement that apps be registered with Nvidia in order to initiate a switch from one graphics unit to another. (A game, for example, wouldn't kick over to the more powerful accelerator unless it contained explicit instructions to do so.) With Optimus off the table, Apple's remaining choice is to revert to a graphics switching system like the one currently in MacBooks with the Nvidia 9400m discrete graphics processor, which requires a manual switch, and a log out/long in routine. It's awkward! So they developed something new. Ars Technica's got the rundown:

Apple's approach in the new 15" and 17" MacBook Pros differs from Optimus in two key ways. The first is that the switching is all handled automatically by Mac OS X without any user intervention (though there is actually a System Preference to deactivate it, if you choose). Apps that use advanced graphics frameworks such as OpenGL, Core Graphics, Quartz Composer or others will cause the OS to trigger the discrete GPU. So, when you are reading or writing Mail, or editing an Excel spreadsheet, Mac OS X will simply use the integrated Intel HD graphics. If you fire up Aperture or Photoshop, Mac OS X kicks on the NVIDIA GeForce GT 330M.

So the hardware switching occurs automatically, based on reasonable parameters (Is the laptop running a game? Using Photoshop? Etc.) The second key difference is that New MacBooks' onboard graphics are powered down when the more powerful accelerator is in use, which saves a wee bit of power, as opposed to leaving both graphics cards running. Apple told us that the lower 8-hour figure they cite for battery life is with the discrete graphics on. What's curious is that while there's an option to force the 330M to stay on, there isn't one to keep it off to stick with the integrated Intel graphics, eking out those last few drops of battery life.

Also, unlike some other graphics switching stuff, which power up when the notebook's plugged in, Apple's is solely based on the programs that are running—so you can't tell it to kick on the more powerful card whenever it's plugged in. Instead, the 330M turns on any time you plug in an external display, since the assumption is that you're powered up.

It's a slight evolution of the graphics switching concept, and an inevitable one. The final evolution, of course, will be a single graphics accelerator that doesn't suck too much power when it's not working hard, negating the need for a laptop to have two sets of graphics hardware, but hey! One step at a time. [Ars Technica]



The weakness I see with this is that from the description it only switches based on what program is running. What happens when a new program/game is released? Do you need a patch to update the system to add the new software to the discrete GPU list?

A more logical, though much more difficult to implement well, choice would be based on actual GPU usage, and instruction type.