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

  • The0ne - Thursday, April 15, 2010 - link

    Wait, huh? I run Win7 and have XP and redhat and ubuntu running. Why can't he do the same? I'm totally confused. So it's meant to be MacOS only? Reply
  • jasperjones - Thursday, April 15, 2010 - link

    I said primary OS, not "only" or "exclusive" OS. It's well-known, for example, that MBPs has some issues on Windows that they don't have on OS X. My point is if you don't plan on running OS X most of the time, get something different.

    Anand wrote:
    "You're paying for the design, build quality and ultimately the right to use OS X. If those things don't matter to you (particularly the OS X item) then you'd be much better off with an ASUS or Dell."

    I would assume he made that comment in similar spirit.
    Reply
  • mikeev - Thursday, April 15, 2010 - link

    What's wrong with at least him testing Win7 battery life and letting us know? Is it some sort of secret? We know it's going to be bad- we just want to know how bad.

    I swear, fanboys sometimes... *facepalm*
    Reply
  • Anand Lal Shimpi - Friday, April 16, 2010 - link

    If I get the time to I'll run some Windows 7 numbers on it for you guys :)

    Take care,
    Anand
    Reply
  • mikeev - Friday, April 16, 2010 - link

    Thanks Anand!! Reply
  • Jimbo - Thursday, April 15, 2010 - link

    Why not just get your own Intel 80GB SSD and call it a day?
    I think that 15" I5 with an SSD would would be about as much speed as anyone could reasonably want from a notebook these days.
    Reply
  • damianrobertjones - Thursday, April 15, 2010 - link

    Has Anand every reviewed or posted about the HP Envy? Just asking as I'd hate this all to be about apple Reply
  • Phynaz - Thursday, April 15, 2010 - link

    You would hate a Mac article to be just about Apple?

    Yeah, that makes sense.
    Reply
  • sportherz - Thursday, April 15, 2010 - link

    Thanks alot for the great update! However, I was wondering if you have any information on the new 13inch MacBookPro. I was looking to upgrade from an older ThinkPad T61p to the new 13 inch MacBookPro, mainly because I hate the time it takes my ThinkPad to wake (running it in Windows 7, using a Vertex SSD) and more importantly the battery life. Due to having to fly often I was also not happy with a 15inch notebook and thus I was eyeballing the 13inch. It would be great if you could post some benchmarking on the 13inch graphics card. It seems that from general performance alone there is really no need to go to the arandale (4% increase in speed seems marginal), is that true? Thus would you second Steve Job's saying that the more important upgrade was the graphic chip?

    Any additional info would be greatly appreciated!

    Thanks for doing such an excellent job!
    Reply
  • fsardis - Thursday, April 15, 2010 - link

    do the edges still cut through your wrists as you type?
    does it still get too hot to touch when doing any sort of intensive task?
    does the screen still tip over the moment you tilt the laptop forward in your lap?

    i wonder why i never see these obvious design flaws mentioned.
    Reply

Log in

Don't have an account? Sign up now