Saturday, April 17, 2010

Apple Mods Intel Chipset for Auto GPU Switching

Instead of Nvidia Optimus, Apple makes its own automatic graphics switching technology.

When Apple announced that its new 15- and 17-inch MacBook Pros had both the Intel HD IGP as well as a discrete Nvidia GT 330M GPU and it could switch seamlessly between them automatically, we assumed that it was using the Nvidia Optimus technology – but it isn't. Instead, Apple brewed up its own software solution, which works in a slightly different fashion, Ars Technica reports.
While Nvidia Optimus uses a software-driven list of apps that would trigger a system to switch over to discrete graphics, Apple's solution detects on the OS level whenever OpenGL, Core Graphics, Quartz Composer are in use and calls in the discrete GPU to help.
Another way Apple's method differs from Nvidia's system is that Optimus runs the discrete GPU's display through the IGP's frame buffer. This requires that both the GPU and IGP to be active, as well as taking up a lot of traffic on the bus. Apple's solution deactivates the Intel HD graphics whenever the GT 330M is called upon, helping it be a little more power friendly.
Apple credits its control over software and hardware as the main reason why it is able to offer an arguably better solution to automatically switching graphics. In fact, Apple appears to have modified the baseline HM55 Express Intel chipset to accommodate for this more advanced switching technology, according to ateardown done by iFixit.
Sadly, Apple doesn't offer the user full control over which graphics part run and when. The quoted battery life is 8 hours when running the GT 330M and 9 hours when it's Intel HD IGP only. Although the user can select between auto switching and having the GT 330M run full time, the option to disable the discrete GPU for the sake of prolonging battery life (like being able to switch off Bluetooth or Wi-Fi) doesn't exist.