Optimus: Recognizing Applications

Beyond addressing the problems with switching between IGP and dGPU, the Optimus driver has also been re-architected to provide an extensible framework that allows NVIDIA to support new applications with minimal effort. We've seen application profiling in graphics drivers for a while now, but Optimus adds a new type of profiling. Whereas gaming profiles are generally designed to get optimal performance out of the graphics hardware, Optimus is intended to provide an ideal platform for a variety of tasks. If an application can benefit from running on a discrete GPU, the Optimus driver will route the necessary calls to the dGPU. Likewise, if an application doesn't need any extra performance/features, the calls get routed to the IGP for rendering. The idea is that Optimus will use the GPU if there's a performance, quality, and/or power saving benefit.


At present, Optimus recognizes applications based on the executable file name. In some cases, the recognition goes a little deeper. For example, surfing the Internet generally won't benefit from the dGPU; however, if you happen to be viewing a Flash video (and you have the Flash 10.1 beta installed for your browser), Optimus will power up the GPU and begin routing calls through the video processing engine. Close the Flash video website and the GPU can turn off again. Similarly, if you load up a media player application, the GPU won't be necessary if you're dealing SD content but it would be enabled for HD content (and this can be changed depending on the hardware if necessary). Optimus should activate the dGPU any time a user requires DXVA, DirectX (OpenGL), or CUDA features.

The big change in application profiling is that the profiles are now separate from the main graphics driver. NVIDIA has created a robust infrastructure to deal with automatically downloading and updating the profiles, with user customizable options directing how frequently this should occur. This means that unlike SLI support, where a fully functional profile might require one or two releases before it's integrated into the standard NVIDIA drivers, NVIDIA can add applications that can benefit from a GPU to the Optimus profile list within days or perhaps even hours.

What's more, it's possible to add an application yourself if necessary. As an example, our Steam version of Batman: Arkham Asylum wasn't enabling the dGPU initially; we added a profile pointing at the Steam Batman EXE and the problem was solved. Ideally, we shouldn't have had to do that, and if "only 1%" of users ever manually switch between IGP and dGPU before, we suspect far less than 1% would be willing to manually add an application to the Optimus profile list. Hopefully NVIDIA will be able to push out regular profile updates for such omissions quickly.

The automatic updating of Optimus profiles also raises the possibility of using automatic updates for other areas. The big one is going to be SLI profile support, and while it isn't part of the current program it sounds as though NVIDIA intends to add that feature down the road. Once the infrastructure is in place and the drivers support a separate profile download, it should be relatively easy to get SLI profiles in a similar manner. It would also be interesting to see NVIDIA allow users to "suggest" applications for Optimus support through the drivers—i.e., anything that a user has manually added could be uploaded to the server, and if an application name gets enough hits NVIDIA would be more likely to enable support. Naturally, there would be some privacy concerns with such a scheme and some users wouldn't want to participate in such a program, but it might be useful.

As an aside, we've wanted AMD/ATI to enable manual user profiling of games for CrossFire for some time. They still haven't done that, and now NVIDIA has taken things a step further and separated the profiles from the main drivers. This is definitely an improvement over previous profiling schemes and it's something we hope to see more of in the future—from both AMD as well as NVIDIA.

NVIDIA Optimus Unveiled NVIDIA Optimus Demonstration
Comments Locked

49 Comments

View All Comments

  • jfmeister - Tuesday, February 9, 2010 - link

    I was anxious to get an mx11 but 2 things were bothering me:
    1- No DirectX 11 compatibility
    2- No Core i5/i7 platform.

    Now there is another reason to wait for the refresh. But with arrendale prices droping, DX11 card available, Optimus, I would expect Alienware to get on the badwagon fast for a new mx11 platform and not wait 6 to 8 months for a refresh. This ultra laptop is intended for gamers and we all know that gamers are on top of their things. Optimus in the mx11 case should be a must.

    BTW, what I find funny is Optimus looks like a revolution, but what about 3dfx 10 years ago with their 3D Card addon (Monster 3D 8MB ftw)? Swithcing was used back then... This looks like the same thing except with HD video support! It took that long to come up with that?
  • JarredWalton - Tuesday, February 9, 2010 - link

    Remember that the switching back in the days of 3dfx was just in software and that the 3D GPU was always powered. There was the dongle cable situation as well. So the big deal here isn't just switching to a different GPU, but doing it on-the-fly and powering the GPU on/off virtually instantly. We think this will eventually make its way into desktops, but obviously it's a lot more important for laptops.
  • StriderGT - Tuesday, February 9, 2010 - link

    My take on Optimus:

    Optimus roots lie with hybrid SLI.
    Back then it was advertised as an nvidia only chipset feature (nvidia IGP + nvidia GPU) for both desktop and notebooks.

    Currently nvidia is being rapidly phased out of PC x86 chipsets so optimus is the only way to at least put an nvidia GPU on an intel IGP based system, but:

    1. Only real benefit is gaming performance without sacrificing autonomy in notebooks.
    2. Higher cost (in the form of the discrete GPU), intel has 60%+ of GPUs(=IGPs) because the vast majority do not care or are uninformed about game performance scaling.
    3. CUDA/Physx currently and in the foreseeable future irrelevant for mobile applications (gaming is much more relevant in comparison).
    4. Video decoding capabilities already present in most current IGPs (except pinetrail netbooks which can acquire it with a cheaper dedicated chip )
    5. Netbooks will not benefit from Optimus because they lack the CPU horsepower to feed the discrete GPU and are very cost sensitive... (same reason that ION1/2 is not the primary choice for netbook builders)
    6. In the desktop space only some niche small form factor PC applications could benefit from such a technology eg an SFF PC would need lesser cooling/noise during (IGP) normal operation and become louder more powerful while gaming (GPU)
    7. Idling/2D power consumption of most modern desktop GPUs is so low making the added complexity of a simultaneously working onboard IGP and the associated software a no benefit approach.
    8. Driver/application software problems that might arise from the complexity of profiles and the vastly different workload application scenarios.

    So in the end it boils down how can nvidia convince the world that a discrete GPU and its added cost is necessary in every portable (netbook and upwards sized) device out there. As for the desktop side it will be even more difficult to push such a thing with only noise reduction in small form factor PCs being of interest.

    BTW At least now the manufacturers won't have anymore excuses for the lack of descent GPU inside some of the cheaper notebook models (500-1000$), because of battery autonomy reasons.
    Oh well I'll keep my hopes low after so much time being a niche market since they might find some other excuse along the lines weight and space required for cooling the GPU during A/C operation... :-(

    PS Initially posted on yahoo finance forum
  • Zoomer - Tuesday, February 9, 2010 - link

    Not like it was really necessary; the Voodoo 2 used maybe 25W (probably less) and was meant for a desktop use.
  • jfmeister - Tuesday, February 9, 2010 - link

    Good point! I guess I did not take the time to think about it. I was more into the concept than the whole techincal side of that you brought up.

    Thanks!

    JF
  • cknobman - Tuesday, February 9, 2010 - link

    Man mx11 was biggest disappointment out there. weak sauce last gen processor on a so called premium high end gaming brand? Ill consider it once they get an arrandale culv and optima cause right now looking at notebookreview.com forums it is a manual switching graphics not optima.
  • crimson117 - Tuesday, February 9, 2010 - link

    Which processor should they have used, in your opinion?
  • cknobman - Tuesday, February 9, 2010 - link

    Should have waited another month to market and used the Core i7 ulv processors. There are already a few vendors using this proc (panasonic is one).
  • Wolfpup - Tuesday, April 20, 2010 - link

    Optimus is impressive software, but personally I don't want it, ever. I don't want Intel graphics on my CPU. I don't want Intel graphics in my memory controller. I don't want Intel graphics. I want my real GPU to by my real GPU, not a helper device that renders something that gets copied over to Intel's graphics.

    I just do not want this. I don't like having to rely on profiles either-thankfully you can manually add programs, but still.

Log in

Don't have an account? Sign up now