Apple's GPU Switching Technology

The Core i5 and i7 CPUs all come with their own on-package CPU called Intel's HD Graphics. This DX10-class GPU is capable of playing games and has a capable HD video decode engine, but it's no match for a discrete GPU.

As I mentioned earlier, all of the 15 and 17-inch MacBook Pro models ship with NVIDIA GeForce GT 330M discrete GPUs in addition to the two Intel chips (Core i5 + H55M). Despite being built on a 40nm process, the GT 330M could easily knock off an hour of battery life just by sitting idle while you type away in Pages.

Apple has had this problem before. The previous unibody MacBook Pros with discrete graphics had a software switch that you could use to turn the discrete GPU on/off. It was a pain to use however since you had to log out after switching modes.


The Old Method

With the new MacBook Pro, Apple implements an automated switching system similar to NVIDIA's Optimus technology. Instead of relying on application profiles, OS X looks at the functions called by any running application and determines whether the Intel HD Graphics is sufficient or the GeForce GT 330M is needed. Applications like video playback are low key enough to run exclusively on the Intel HD Graphics, while 3D games and applications that take advantage of GPU acceleration appear to wake up the GT 330M.

Update: Apple has given us a list of frameworks that will trigger the discrete GPU, they primarily include: OpenGL, OpenCL, Quartz Composer, Core Animation and Core Graphics. Also, if you plug in an external display the discrete GPU is also turned on.

Apple has also confirmed that both the discrete and integrated graphics cores have their own connection to the display. There's no copying of frame buffer data, the GPU that's in use is the one that's storing and displaying the screen. If the integrated graphics core isn't in use it is put into its lowest power state.  If the discrete GPU isn't in use it's completely shut off.

Power Consumption Comparison
  Intel HD Graphics Only GeForce GT 330M
Idle at OS X Desktop 11.5W 15.1W

The switching process is seamless and there's no indication of what GPU is being used at any given moment. That's both good and bad. You don't have to muck with any software switches, but you also rely on Apple to make the right decision based on your current workload. Without a way of telling what is making the discrete GPU wake up, there's no way to know whether something as simple as leaving an application open is causing you to have lower-than-ideal battery life.

There's also no way to turn the GeForce GT 330M off completely, regardless of application. This is one area where Apple completely wrestles control away from the end user. I'm all for automated switching systems, just not ones that don't reassure me that they're always making the right decision.

Despite using a NVIDIA GPU, there's no support for Optimus under Windows 7 on the new MacBook Pro. The GeForce GT 330M is always in use there regardless of whether you use an Optimus enabled driver or the 196.21 driver that comes with the MacBook Pro.

No AES-NI Support in OS X? The GeForce GT 330M
Comments Locked

114 Comments

View All Comments

  • yodasz - Thursday, April 15, 2010 - link

    I wonder if the SSD performance and compatibility issues have been addressed in this revision? Does anybody have an update on that?
  • Anand Lal Shimpi - Thursday, April 15, 2010 - link

    3Gbps works out of the box (confirmed on Corsair's Force 100GB drive). The system seems to work fine with the SandForce controller, but the same is true for the previous gen. I haven't tried Indilinx yet. Intel also appears to work fine.

    Take care,
    Anand
  • solipsism - Thursday, April 15, 2010 - link

    That is the most important information from this release. Sadly, you are likely the only one to report on it.

    How does the use of SATA II over SATA III affect the performance of SSDs?
  • Anand Lal Shimpi - Friday, April 16, 2010 - link

    The only SSD that can benefit from 6Gbps SATA is the Crucial/Micron RealSSD C300, which I've briefly talked about here:

    http://anandtech.com/show/2944

    The problem today is some 6Gbps SATA controllers are actually slower than Intel's 3Gbps SATA controller:

    http://anandtech.com/show/2973/6gbps-sata-performa...

    Realistically I don't expect 6Gbps SATA to be that important to SSD performance until next year.

    Take care,
    Anand
  • Pat69 - Friday, April 16, 2010 - link

    Do you know which kind of SSD Apple is providing through the 3 options (128, 256, 512)? Are these SSD good ones?
  • Anand Lal Shimpi - Friday, April 16, 2010 - link

    Apple doesn't like confirming this kind of stuff, but I'm guessing they are supplied by Toshiba and/or Samsung. If so, the drives are ok but not particularly great. I'd save the upgrade cost and do it yourself aftermarket.

    Take care,
    Anand
  • kirkrw - Friday, April 16, 2010 - link

    I take it then that your recommendation would be to that same $500 that Apple wants for their 256G SSD and put it toward a 160G x25-M gen 2?
  • bradpowers - Monday, April 19, 2010 - link

    Could we get benchmarks on the MBP with the Corsair F100? I'm very interested in that combination.
  • stimudent - Thursday, April 15, 2010 - link

    Still measuring in inches and feet...
  • Squuiid - Thursday, April 15, 2010 - link

    Aynbody know what model the 256GB SSD is?

Log in

Don't have an account? Sign up now