Getting the Most from IE9 and Your GPU


Over the past year, Internet Explorer 9 went from a technology platform preview to final release for millions of users. Before IE9 beta, our opt-in telemetry data showed IE9 running on a relatively small number of high-end GPUs. Within two weeks after beta release, IE9 was running on nearly every kind of GPU in the world—from expensive and fast desktop GPUs to power-sipping netbook GPUs.

In this post we talk about our approach to ensuring IE9 is using the GPU across a broad range of PCs, and what you can do to ensure you are getting the most out of IE9 and your GPU.

We gauge GPU usage through our opt-in telemetry across a broad number of systems using the GPU’s unique PCI device IDs. After we released Internet Explorer 9 Beta, the number of unique IDs quickly grew to over 600. By the end of 2010, we had hit 700. The number is still slowly climbing. Note that these numbers represent unique device IDs only; the total number of unique device + driver combinations is in the thousands – Windows has a very diverse hardware ecosystem.

Chart showing the increase in unique device ids over time
Number of unique GPU device IDs seen since just before IE9 beta to today

Throughout Internet Explorer 9 development, we compared the GPU market share data reported by our telemetry to overall GPU market share. From this data, we conclude that a couple of weeks after Beta we were seeing GPUs representative of the Windows market as a whole—With regard to GPUs, IE9 became a general purpose browser very quickly.

Fully Hardware Accelerated

We’ve talked a lot on this blog about how IE9 is “fully hardware accelerated” and it is on the vast majority of modern GPUs capable of supporting IE9. Yet, on a relatively small percentage of GPUs—generally older, XP- and Vista-era devices—we revert to software rendering using a high-performance DirectX emulator known as the Windows Advanced Rasterization Platform (WARP), a fast rendering library that is faster than the GDI subsystem we use in Internet Explorer 8. To switch to software mode, we use a list of GPUs and driver file versions with known issues.

There are three reasons IE9 will use software instead of GPU rendering:

  1. The computer’s GPU and driver appear on the software fallback list, part of the IE9 compatibility view list
  2. The user is running IE9 in a remote desktop session
  3. The user has selected “Use software rendering instead of GPU rendering” in the advanced Internet options:

Screen shot of the Internet Options dialog Advanced tab showing the checkbox for Use software rendering instead of GPU rendering

There are also three reasons why a GPU and its driver may appear on the software fallback list:

  1. The GPU and driver is slower at rendering common Web content than software rendering;
  2. The GPU driver has severe stability or security issues, for example, it crashes when rendering frequently-visited Web sites; or
  3. The GPU or its driver has severe rendering quality issues when rendering Web content (including new features such as of HTML5, CSS3, SVG, <canvas>, and <video>) or popular ActiveX controls such as Adobe Flash.

Over the past year, we created this list after investigating issues reported by automated testing, beta users, and IEBlog commenters. The screen shot below shows an example of a rendering issue that caused us to add a GPU and its driver to the software fallback list:

Screen shot of Web page with very poor rendering due to a bad GPU and driver

You can tell if IE9 is running in software mode by examining the “Use software rendering instead of GPU rendering” option on the Advanced tab of the Internet Options dialog. If the option is checked and disabled (grayed out), your GPU or driver are on the software fallback list and IE9 renders using software.

Screen shot of the Internet Options dialog Advanced tab showing the checkbox for Use software rendering instead of GPU rendering checked and disabled indicating your GPU is on the software fallback list

What You Can Do

If your machine is running in software mode, your GPU may have a newer driver that will allow Internet Explorer 9 to render in hardware mode.

To ensure you’re running with the most recent driver, try the following:

  • In Windows Update, look for GPU driver updates (Optional Updates section)
  • Look for GPU driver updates in the computer manufacturer’s update software in your Windows start menu
  • Look for GPU driver updates on your computer manufacturer’s Web site. For example:
  • Look for an updated driver on your laptop or GPU manufacturer’s Web site. Here are links to the three leading GPU makers:

We’ve been working with GPU makers and computer manufacturers for over a year to get updated drivers ready for IE9. Most manufacturers will auto-update drivers if needed (your machine might have been updated already) and offer updated versions on their Web sites to ensure that you can enjoy a GPU-powered Web in IE9.

As always, we welcome your feedback.

—Frank Olivier, Program Manager, Internet Explorer Graphics

Comments (34)

  1. Mike says:

    I forget – does that * after the setting indicate "Requires restart"? If so, does that mean there's no way to disable GPU acceleration on a per-page basis via header or META tag?

    I'm asking because the new (DirectWrite?) text rendering in IE9 is noticeably worse than normal ClearType in e.g. Notepad in the same font on the same box. (That's in docmode 9; in compatibility docmodes it's dramatically worse.) Where rendering speed isn't a major concern – which is most of our pages – we'd probably prefer to be Luddites in this regard.

  2. Anonymous says:

    @Mike

    WARP is a software implementation of DirectX. It will render the same as a hardware implementation even on the sub-pixel level. Directwrite will still be enabled, it will just be done in software.

    That said, I've heard so many inconsistent stories on the font rendering that I am beginning to wonder whether different setups are prone for worse quality images than others. Fonts look better to me in IE9 on my laptop. I wonder if differences in the screen or possibly the drivers might be the source of these font issues. I once brought this up to a person on a forum who had these issues and when he checked IE9 on his fathers computer it looked better than on his.

  3. Yotsuba says:

    I have same GPU with BBC barcode screenshot.

    1. Unfortunatelly, GPU and driver software-fallback-list works only in IE9.

    Other applicaitons (for example, Windows Live Mail 2011) still renders some font as barcode and there is no option to use software rendering…

    2. Software rendering is sometimes toooo slow.

    When scrolling #NewTwitter, it works with only 2~3FPS.

  4. Ted Johnson [MSFT] says:

    @Mike: This is a browser-wide setting that requires restarting IE9. Hardware and software rendering should be pixel-for-pixel identical. The only reason to run in software is if there are GPU or driver bugs.

  5. Senthil Kumar says:

    @Ted Johnson: I am not sure I understand this. Is your statement true for anything that is rendered in IE9? Because, if both were pixel-for-pixel identical what difference does DirectWrite's "sub-pixel" rendering make? How can it result in a smoother animation if it were the exact same set of pixels as software rendering?

  6. Anonymous says:

    @Senthil Kumar

    DirectWrite is always being used in IE9 even if hardware acceleration is disabled. Directwrite essentially has two modes, hardware and software. Both of these modes look identical, but hardware mode is faster.

  7. Samir Shah says:

    My desktop motherboard is Asus M2A-VM which is Radeon 1200 graphics. AMD has abandoned driver updates and says henceforth they will be community developed and supported. I did not find improved drivers anywhere. So I am stuck in the software lane forever according to the IE9 settings. Not only the current AMD driver has issues with IE9, I also have observed it having problems with WPF. (Freenake Video Converter, Sharekhan TardeTiger (India))

  8. Senthil Kumar says:

    Aha.. I thought if hardware mode is turned off, DirectWrite woundn't be used at all.. Now I get it. So, software mode means software mode using DirectWrite.

  9. hAl says:

    I just upgraded one of my GMA drivers.

    The software rendering was still checked but no longer greyed out.

    Should it not automatically be unchecked when a better driver is installed?

  10. Esben says:

    About the text/font rendering issue. I had the same issue but I found out that it was because I was using two screens (the laptop and an extern screen) and my Cleartype setting was optimized for the both screens. I change that to only optimizing for the external screen and now my text in IE9 looks perfect. I hope this can help others with the same problem.

  11. Nathan Evans says:

    IE9 with hardware acceleration enabled causes video playback in other media player software to stutter. All it takes is for a web page to have some animation on it, or for you to scroll that page.

    This occurs on both of my PC's running it, one with Nvidia GPU and the other with ATI GPU. Both are multi-monitor setups.

    I witnessed this issue right from Beta, to RC, to RTM.

    When will there be a solution for this?

  12. GMA says:

    Intel has released new Intel graphics drivers but if you read Eric Law's blog:

    blogs.msdn.com/…/ie9-benchmark-tests-and-gpu-fallback-to-software-rendering-mode.aspx

    "[EricLaw: Thanks for the note. FWIW, these drivers refuse to install on Lenovo x200 complaining that they're not yet approved for this hardware.]"

    This is truly ridiculous. The latest Intel graphics drivers won't install on many notebooks and laptops still. Do something about this once and for all, Microsoft.

  13. @GMA says:

    That's hardly Microsoft's fault, is it?

    Perhaps you can complain to Intel that their drivers still don't comply.

  14. tuxplorer says:

    Today marks the release of Classic IE9 as part of Classic Shell to fix some huge IE9 blunders: xpwasmyidea.blogspot.com/…/minipost-classic-shell-310-released.html. More will be fixed in upcoming versions.

  15. Torbjörn Andersson says:

    "2. The GPU driver has severe stability or security issues, for example, it crashes when rendering frequently-visited Web sites"

    That's pretty much what I got the first time I tried IE9. It would crash immediately on Dell's pre-configured start page, and then go into a seemingly infinite loop of automatically re-opening the page and crashing again. Fortunately IE isn't my primary browser, so I was still able to search for help and find out about how to turn off hardware acceleration. Mind you, I wasn't that surprised that hardware acceleration didn't work because although Dell claims it is the most recent Intel driver, Firefox 4 blacklists it and tells me to install a newer one. Besides, being a Linux user in my spare time (which is why I can't tell you the exact hardware/driver for the Windows computer; it isn't here with me) means I'm pretty used to hardware acceleration often not working quite right (though it has improved a lot lately for me).

    Since only the current tab crashed, not the main browser process itself, it would have been nice if IE, after a few iterations of crash-and-reload, would have realized that this wasn't working out and popped up a suggestion that I turn hardware acceleration off. Sort of how like Vista can warn that it's running very slow, and maybe turning off the fancy GUI effects will help. Though perhaps that's more work than the end result justifies.

    Bad first impressions aside, and although I can't see it ever becoming my first choice, I am happy to see that IE is being actively developed. The current browser competition seems a lot more healthy to me than when IE, Netscape and Mosaic had their turns at almost complete domination.

  16. GregM says:

    "Today marks the release of Classic IE9 as part of Classic Shell to fix some huge IE9 blunders: More will be fixed in upcoming versions."

    Excellent,  I hope the search box is next on your list!

  17. Björn says:

    @Anonymous

    My guess is that issues with DirectWrite often has one or more of the following causes:

    *) low DPI

    *) non-native resolution

    *) VGA cable

    *) bad color calibration

    *) bad ClearType setting

  18. Evan says:

    Will updating to the very latest video driver actually make font rendering in IE9 bearable? I'm downloading the update now but I find it odd that every other app has no issue with fonts its only IE9 that can't render them properly.

  19. Taciturne says:

    You never really tell a DirectX 10 video card is required for hardware acceleration. It is, right?

  20. @taciturne says:

    I have a DirectX 9 card in my system (nVidia 7600GT), it works fine.

  21. Mike says:

    @Björn

    I'd expect any of those factors to affect normal ClearType text rendering just as much as they affect IE9's DirectWrite text rendering. That isn't what we're seeing.

  22. Mitch 74 says:

    @Evan: make sure you have installed all patches and the latest driver version. In Firefox 4, an extension called Anti Aliasing Tuner can improve font rendering in hardware accelerated mode a great deal – I dunno if an equivalent feature exists in IE9. If it does, use that, if it doesn't, you can:

    * disable hardware acceleration,

    * force all sites to display in IE8 mode (which also disables HA),

    * uninstall IE9,

    *  or switch browser.

  23. joshuatee says:

    hahaha, M74, aatuner????

  24. 8675309 says:

    my monitor isnt dimming in windows 7 & my printer's DS page wont appear in w7hp but works in w7e. whats the deal going on

  25. SharePoint Consulting says:

    I just wanted to comment your blog and say that I really enjoyed reading your blog post here. It was very informative.

    <a href="http://www.binaryrepublik.com">SharePoint Consulting</a>

  26. Stanislas says:

    Hi, you wrote "The user is running IE9 in a remote desktop session" does it mean that IE9 can't use a vGPU in a VDI machine (Windows 7 SP1 + RemoteFX) ?

  27. Mark Dowling says:

    It would be helpful if Microsoft would publish their blacklist of drivers as Mozilla have done.  Dell are woefully behind on their GMA driver updates and hopefully a bit of embarrassment from two of the biggest three browser makers might get their driver teams moving.  The Intel site offers 8.15.10.2302 for GM45/Win7x32 but this won't install on a Dell who are limited to the 2182 build which is blacklisted by Mozilla.

  28. Dave2003 says:

    Any idea when IE9 will be able to support text-shadows? This is one of the most basic and most popular features of the CSS3 spec, even more popular than SVG and Canvas, it seems quite strange that Firefox, Safari, Chrome and Opera have all supported this feature for several years now but IE9 is still playing catchup.

  29. @Mark says:

    They not only publish the blacklist, but if you have IE9, you have a local copy.

    In the IE9 address bar, paste:

    File:\%LOCALAPPDATA%MicrosoftInternet ExplorerIECompatDataiecompatdata.xml

  30. Joe says:

    This one of the main problems I have with Firefox.  It starts hogging GPU bandwith if I open a video.  Did IE9 solve this issue? http://jamesjoe.com/

  31. Bear says:

    How about the memory management?

    I found that each time IE/TWebBrowser navigate to a very simple HTML page,

    the memory and visual memory usage will increase a little (2K – 2M). The

    increment part should be freed before it navigate to a new page. But it does

    not.

    So if we navigate to several pages 100 times, the memory count will be very

    high.

    And we can free the working set memory by API call or minimize the window,

    but the visual memory is still very high, and then 2-10 hours later, the

    system will say,

    "The size of visual memory is too low" etc..

    It is a IE memory leak bug, right?

    How to avoid this or free the visual memory it "used"?

    Can you provide a API to developer to free the memeory of WebBrowser ActiveX?

  32. Sergii says:

    I suppose TWebBrowser is leaking, not IE 9 ActiveX.

  33. Raymond says:

    Faster but still slow. I mean come on by now at least you should support all of the latest standards you had so much time to catch up. Please actually try a bit harder please!

  34. Mitch 74 says:

    @Mark dowling: if you want to update your Intel drivers, simply uninstall the Dell one, reboot, and then install the generic Intel version. Worked like a charm for me.