Tech —

NVIDIA’s Optimus is primed for new Apple MacBooks

NVIDIA's new Optimus technology enables seamless, on-the-fly switching between …

Launched earlier this month, NVIDIA's Optimus is a clever solution that could, and probably will, completely turn around NVIDIA's fortunes in the mobile space. It's also extremely likely that, as a new rumor suggests, the technology will make an appearance in the next revision of Apple's MacBook line of portables.

In a nutshell, Optimus allows seamless, invisible switching between Intel's still-anemic integrated graphics processors (IGPs) and NVIDIA's popular discrete mobile GPUs. On an application-by-application basis, the NVIDIA graphics driver decides if the app can benefit from GPU acceleration and, if it can, it hands off the rendering work to an NVIDIA GPU that sits on the PCIe bus. This behind-the-scenes handoff happens without any user intervention, and without so much as a flicker on the display.

It's likely—actually, I would say it's certain—that Apple will adopt Optimus across its MacBook line as it updates the portables to include the latest round of Intel mobile processors, which feature an IGP and northbridge chipset in the same package as the CPU. Apple's alternative would be to ditch Intel and go with an AMD/ATI platform; this is beyond unlikely.

Optimus basics

Optimus is basically NVIDIA's answer to the Intel bus licensing dispute, in which Intel torpedoed NVIDIA's IGP business by refusing to grant the company a license to the DMI bus that connects Intel's newest mobile processor/GPU combo chips to the I/O hub that had formerly hosted the IGP (before the IGP made the move into the CPU package). If NVIDIA had been granted a DMI bus license, the company could have made its own I/O hub containing an IGP and some I/O controller hardware, but Intel didn't, so NVIDIA couldn't.

Enter Optimus, which is an engineering-driven end-run around Intel's new IGP monopoly. Instead of replacing an Intel I/O hub and IGP combo chip with an NVIDIA part, NVIDIA just hangs its discrete GPU off of the Intel I/O hub via a x16 PCIe lane. The PCIe bus provides plenty of bidirectional bandwidth, and given that Optimus sends data to and from the main CPU socket, it needs bandwidth to work at higher resolutions.

When the system is using NVIDIA's discrete GPU, the IGP is being used only as a simple display controller that reads in data from the frame buffer and sends it to the system display port. All of the graphical heavy lifting is being done by the NVIDIA GPU, which takes in data from the CPU, does its rendering and processing, and then sends the results back to the CPU socket and to the frame buffer.

Optimus works by taking advantage of a feature of Intel's IGP that has been the source of much enthusiast griping over the years: the fact that Intel IGPs store the frame buffer in system memory, instead of in a dedicated pool of fast memory like NVIDIA's and ATI's IGPs. Intel used system memory to keep platform costs down (the extra memory chips that competitors' IGPs used boosted the price), but at the cost of some system performance—not having dedicated memory slows down 3D rendering, and it also reduces the amount of system memory available to other applications.

The software side of the Optimus platform inserts itself between the OS/app stack and the graphics hardware, and it accesses system memory to fill the frame buffer itself. Intel's IGP still reads from the frame buffer to do display output, but it's just reading and displaying frames that were generated by NVIDIA's GPU and sent to main memory.

Optimus decides which applications need the discrete GPU's help by using application-specific profiles that it gets over the Internet from an NVIDIA-hosted server. These profiles are sort of like cheat-sheets that tell the Optimus how it can best work with the IGP to help particular applications and games.

In the final reckoning, Optimus actually makes Intel's IGPs more competitive with AMD/ATI platforms by offering a way to boost its graphics performance, so Optimus is actually a net positive for Intel. Contrast this to NVIDIA's previous IGP business, which competed with Intel IGPs. But Intel has no presence in the discrete mobile GPU market, and with the Larrabee program now on ice, it won't have a competing product for some time. Optimus, then, fills a gap in Intel's platform that desperately needs to be filled, which is why Apple is certain to announce that it will be powering the MacBook line eventually.

Postscript: what about AMD/ATI?

ATI's answer to coexisting with Intel is switchable graphics, where users can manually switch between Intel's IGP and ATI's discrete GPU. This requires user intervention and a logout, so that the display can be handed off from one GPU to the other. And if you switch over to the discrete GPU and then move your laptop from wall power to battery power without first switching back to the IGP, you could drain your battery accidentally. For this and other, more technical reasons, switchable graphics is not the answer, and ATI will have to match Optimus's features, performance, and low cost if it wants anyone to consider Radeon as a GPU for Intel mobile platforms.

Channel Ars Technica