NVIDIA Optimus Technology
NVIDIA's Optimus technology is enabled through a combination of custom hardware and software. What NVIDIA is calling the "Optimus Copy Engine" is integrated into all of their current 40nm GeForce 200M and 300M GPUs and upcoming Fermi-architecture based mobile products.
previous NVIDIA offerings that featured support for Hybrid SLI, which
also allowed an NVIDIA IGP to display the output from a discrete GPU,
elements of the GPU's 3D pipeline were used to copy frame buffer data to
the IGP. This caused the 3D engine to stall during DMA operations. With
the new Optimus Copy Engine, however, the 3D engines are not used and
don't stall during the copy process.
As the Copy Engine's name suggests, its sole purpose is to copy frame buffer data from the discrete GPU, over the PCI Express interface to system memory, where it is then output to the display by the IGP. This operation may sound like it introduces significant latency, but we're told it is less than 3ms when operating at 60Hz.
On the software side, a few things had to happen to enable Optimus. First and foremost, Windows 7's ability to work with multiple graphics drivers simultaneously was a necessity. Vista only allowed graphics drivers from a single vendor to be installed at any given time. NVIDIA also implemented a few features in their drivers for Optimus. In the slide on the left, you'll see an indicator for the Optimus Routing layer. NVIDIA hasn't disclosed exactly how the routing laying works, but the software essentially detects certain calls an enables the discrete GPU when necessary. In addition, NVIDIA has also implemented application profiles in their driver--similar to SLI profiles. When a application is launched, if its profile recommends the use of the discrete GPU, it is fired up and takes over. While we're on the subject, we should also note, that when the discrete GPU is not being used, it can be completely shut down to a no-power state.
NVIDIA has also implemented a new profile distribution system that will keep Optimus application profiles updated, without user intervention. Due to the fact that many notebook buyers are, shall we say, not so tech savvy, the likelihood that they'd update drivers regularly and keep the profile list up to date was slim. With that in mind, NVIDIA has put mechanisms in place to update Optimus application profiles in the background, much like anti-virus vendors update definitions. Users can also manually add applications to the list or enable the GPU with a simple right click of the shortcut. A context menu gives users the ability to run a particular application using the discrete GPU if they so choose.