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