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
POST A COMMENT

114 Comments

View All Comments

  • ReaM - Friday, April 16, 2010 - link

    I think the update is not worth paying the extra for.

    330GT is not much better than 9600GT and the Core2Duo in overall is not that much faster. It feels I will pay more for just a slight improvement.

    For 1700buck you can build a i7 980X Six core computer and be happy with 30,000 cinebench scores.

    I am having my 10nth mac right now, but they seem to get more expensive for what they can do. If you add the 1050 display, that's gonna cost you even more.

    I hoped for more.
    Reply
  • ReaM - Friday, April 16, 2010 - link

    The new MagSafe connector seems to be crappy. If pulled on cord, because if it is now vertical direction, will pull the whole macbook with it. Reply
  • overzealot - Friday, April 16, 2010 - link

    I want some on my 5770 Reply
  • overzealot - Friday, April 16, 2010 - link

    Far more fun than stream processors Reply
  • DanaGoyette - Friday, April 16, 2010 - link

    No USB 3.0? And no ExpressCard slot, so you can't add it later? FAIL. Oh, here's an SD Card slot for you, instead. Good luck trying to connect an external hard drive to that.

    Frankly, Apple's MacBook "Pro" line is thoroughly outclassed by HP's "EliteBook" series. Rather than making myself sound like a rabid fanboy by describing why, I'll just link to this:
    http://hpfansite.com/category/hp-elitebook/
    Reply
  • kuwan - Friday, April 16, 2010 - link

    Just a comment on the Aperture 2 RAW Import...

    Importing RAW images is actually more disk bound than it is CPU bound - at least it is in Bibble 5. It usually involves decoding to a low-resolution image and saving a preview which can often be done faster than the disk can read the files. If you're looking for a CPU benchmark then exporting the images to JPEG after you've imported them will likely give you a much better metric on how the CPUs perform.

    Also, why not use Bibble 5 as a RAW image benchmark? ;-) I've seen it included in a number of CPU reviews and it runs just as well on Mac OS X as it does under Windows or Linux. Aperture doesn't actually scale very well with multiple CPUs/threads so it isn't a particularly good CPU benchmark now that 2-4 cores is pretty much standard. Also, the nice thing about Bibble as a benchmark is that we actually report the times it takes to run a batch - so you won't have to use a stop watch. ;-)

    Anyway, thanks as always for a great review.

    Note that I'm the lead Mac engineer for Bibble Labs.

    Cheers
    Reply
  • I am as mad as hell - Friday, April 16, 2010 - link

    No (Cr)apple product reviews on Anandtech please! Make this site Apple free. There are tons of other sites devoted to the "other" OS. Thanks you. Reply
  • TEAMSWITCHER - Friday, April 16, 2010 - link

    Don't you think that you should be a bit more open minded? There are a lot of AnandTech readers and many of us look forward to reading the Apple coverage. No one is forcing to read the Apple related material. Reply
  • webdev511 - Sunday, April 18, 2010 - link

    Apple computers do a great job at running Windows. I enjoy reading reviews of Apple hardware. If AnandTech hadn't reviewed this crop of MacBook Pros, I would never have know that they fall short of what I expected.

    I'd actually like to see a Spring 2010 Laptop shoot out that includes the MBP running the same OS as the rest. It would be a great way to see how Apple hardware stacks up to the rest of what's out there.
    Reply
  • Tempsis - Monday, April 19, 2010 - link

    My only issue is that, these days, it seems like the only notebook systems that get deemed worthy of Anand's review time are Apple's system. All of the other notebook reviews get dealt out to other writers, but when it comes to Apple-based information/product reviews, only Anand seems to do it/etc. Seems to indicate a favoritism towards Apple on Anand's part. Reply

Log in

Don't have an account? Sign up now