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.
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.
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:
There are also three reasons why a GPU and its driver may appear on the software fallback list:
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:
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.
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:
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