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

  • san1s - Wednesday, April 14, 2010 - link

    This or one of the new Sony Vaio Z series? Reply
  • rowcroft - Thursday, April 15, 2010 - link

    I chose the Sony Z- love the size and was able to get it with the i5 and a SSD for around $1,900. 3.5lbs and 1600x900 13" was too much for me to resist (and I do like OS X). Reply
  • androticus - Friday, April 16, 2010 - link

    I just tried out a Z at the Sony Store -- sweet! The 15" MBP is huge and heavy by comparison. I really feel that Apple is not offering a compelling upgrade this time -- and even upping the base model price by $100! Reply
  • SandmanWN - Wednesday, April 14, 2010 - link

    Steep price for only 5400 rpm drives!
    All that room and can't add a number pad to the keyboard.
    The plug on the power brick has got to be annoying sometimes.

    Nice resolution on the screens.

    Overall for the price the attention to detail is kind of disappointing. Not to mention the styling feels sooooooo old now.
    Reply
  • Brian Klug - Wednesday, April 14, 2010 - link

    Honestly, I'm really confused why they're shipping 5400 RPM drives as well. Ordering online, the 7200 RPM drives are a whole $50 more, which, in the big perspective of things is change next to the MacBook price.

    It seems like the volume discount from shipping exclusively 7200 RPM drives on a "pro" machine would've made more sense than a bunch of default configurations with 5400 RPM drives destined to sit in stores.

    -Brian
    Reply
  • randfee - Thursday, April 15, 2010 - link

    styling = old? Kidding me?

    The Style is rather new, just one and a half years now, isn't it? The prior design lasted for 6 years and my mid 2007 MBP still looks stunning, a timeless design and the aluminum surface is VERY durable. Comparing my almost three year old one to a most other brands with the same age makes people say mine looks like new.
    Reply
  • ltcommanderdata - Wednesday, April 14, 2010 - link

    I'm still curious why Apple chose the nVidia GT330M with it's 23W TDP. ATI's Mobility HD5650 is supposed to have a TDP between 15-19W, while still being faster so would seem like the ideal choice if performance/watt is the major concern. Hopefully, Apple developing their on dynamic GPU switching implementation was motivated by trying to make a GPU agnostic method to not be tied to say nVidia and Optimus. Presumably, the GT330M drivers are more mature in OS X due to similarity with existing nVidia GPUs and that combined with price and bundling offers with the 320M cause Apple to choose nVidia in this round, but hopefully ATI isn't permanently locked out of Apple notebooks.

    It's also interesting to note that the GT330M is underclocked at 500MHz core versus up to 575MHz and 1100MHz shaders versus up to 1265MHz being supported by nVidia. Apple's clocks actually match the GT230M. If this was done to reduce power consumption and thermals, that's another reason the HD5650 would have been a better choice.
    Reply
  • jimhsu - Thursday, April 15, 2010 - link

    Or simply opting for 335M (50% more shader cores) would boost graphics performance even more. Though with the heat comments, maybe that isn't such as good idea. I'm reminded with the quite unsatisfactory heat performance (i.e. OMG WTF THIS IS BOILING) of my first gen Macbook Pro (early 2006) with some of the comments in this article. Worrisome. Care to post some temps? Reply
  • redbone75 - Thursday, April 15, 2010 - link

    I would guess it's because Nvidia, not ATI, is their partner and they have to honor that relationship. Think of how p/o'd Intel was when Apple ditched them in favor of Nvidia's chipsets. Reply
  • MySchizoBuddy - Wednesday, April 14, 2010 - link

    based on the table Core i5 540M looks better than Core i7 620M Reply

Log in

Don't have an account? Sign up now