Jaa


Understanding the IE9 Software Rendering Mode

I recently heard from some users who are seeing lower-than-expected scores on the Speed Reading and FishIE Tank benchmarks. I went to check these tests myself and found that my laptop’s score was low. In fact, it was much lower than I’d seen last year. What happened?

First, a bit of background: These graphically rich demos are designed to use your PC’s Graphics Processing Unit (GPU) instead of the Central Processing Unit (CPU) to do most of the heavy lifting. Generally speaking, a faster GPU will give better performance than a slower GPU. However, there are cases where the GPU is not used for rendering, and instead the CPU is used. The primary case where this occurs is when the GPU has an outdated driver version which is not supported by the browser. In those cases, the browser will use software emulation mode, forcing the CPU to do the work instead of the GPU.

You can determine whether Internet Explorer 9 is in software mode by clicking Tools > Internet Options > Advanced. The first checkbox in the list indicates whether IE9 is running in software mode.

When I went to check my setting, I found that the software rendering box was ticked and disabled:

image

This indicates that my GPU is on the Software Emulation fallback list. This list contains a list of GPUs and GPU Driver versions which are known to have reliability, functionality, or performance problems when running Internet Explorer. The most common case is that the driver crashes when IE attempts to use the GPU for hardware acceleration. Because IE9 uses hardware acceleration for all web content, this means that these drivers will constantly crash IE when you try to browse. Our telemetry data indicates that such crashes, along with crashing browser add-ons, make up the vast majority of IE crashes.

The Software Emulation fallback list is delivered as a part of the Internet Explorer Compatibility View list. In my case, the Intel Series 4 Family GPU in my Lenovo X200 laptop was using driver version 8.15.10.2202 (ig10umd64.dll) released in August 2010. Tip: You can learn more about your graphics driver version by running the dxdiag.exe tool that comes with Windows.

I found an updated version of my GPU driver by visiting Lenovo’s support site. In the Downloads section for my laptop, the latest driver versions were provided. (Note: Driver updates often eventually make their way to WindowsUpdate, but that isn’t always the case.)

After I updated to the latest driver version, 8.15.10.2226, released in October 2010, I found that my laptop was back in hardware mode, with great benchmark scores for Speed Reading and FishIE Tank. Now that hardware acceleration is enabled, my Internet Control Panel option looks like this:

image

If I find that my browser is crashing a lot and I suspect the graphics driver is at fault, I can go turn off hardware acceleration myself and see if it helps.

Until next time,

-Eric

Update: See https://blogs.msdn.com/b/ie/archive/2011/04/01/getting-the-most-from-ie9-and-your-gpu.aspx for some interesting data points about how many different GPUs IE9 supports in hardware mode, and some screenshots showing why some drivers are on the software fallback list.

Tip:  Users of Hyper-V and Windows Server 2008 R2: When used on machines with the Hyper-V role installed, Internet Explorer 9 will only be able to use a supported GPU for hardware-accelerated rendering if Service Pack 1 is installed, and the processor supports SLAT.

Tip: Non-Internet Explorer hosts of the Web Browser control use software rendering mode by default, even when hardware acceleration is available. Applications can set FEATURE_GPU_RENDERING to opt-in to hardware acceleration, if the user’s hardware is compatible.

Comments

  • Anonymous
    February 16, 2011
    Hi Eric and thanks for the tip. Going off on a tangent, I have been using the IE9 beta ever since it came out as my primary browser. I was eagerly waiting for the opportunity to use the RC as well, but unfortunately, I have not been able to install the same on my desktop. I am running windows 7 x64. When I try to run the 64 bit ie setup, it prompts a restart and starts configuring updates. Then the screen says " failed to configure updates" and "reverts changes" . This happens about 2 or three times in a loop and then it quits. Can you suggest the next course of action?

  • Anonymous
    February 16, 2011
    @Vaibhav: Can you email me (ericlaw at microsoft) the file C:windowsie9_main.log so I can have a look?

  • Anonymous
    February 17, 2011
    Thanks, that was useful to know. A couple of questions:

  1. Is there a way to check the rendering mode in the platform previews?
  2. Would the rendering mode effect the page reflow performance?
  • Anonymous
    February 17, 2011
    @Sean: No, I don't believe the previews expose this information. Yes, using software emulation could affect reflow performance because re-layout would be competing for CPU time with the software rendering.

  • Anonymous
    February 22, 2011
    Could you send me your updated driver at my email address ? I've noticed my computer uses exactly the same driver (v8.15.10.22202), and the same GPU. My manufacturer (Acer) don't have published the update on his website (I've checked). I would like to install the update (if it causes problems, I could still run Windows in Safe Mode to restore my computer before the installation). Do you still have my mail address (if you have a download link, you can post it here, it would save you a mail in your outbox !). Thanks a lot, François

  • Anonymous
    February 22, 2011
    Okay, I've found the update directly on the Intel website. I can confirm I see an huge difference !

  • Anonymous
    March 15, 2011
    Intel has released new drivers, 8.15.10.2281(newer than 8.15.10.2226) for Intel G45 chipset(X4500HD/MHD IGP). 32bit downloadcenter.intel.com/Detail_Desc.aspx 64bit downloadcenter.intel.com/Detail_Desc.aspx

  • Anonymous
    March 16, 2011
    The comment has been removed

  • Anonymous
    March 16, 2011
    The comment has been removed

  • Anonymous
    March 16, 2011
    The comment has been removed

  • Anonymous
    March 29, 2011
    Intel has released new drivers, 8.15.10.2302(newer than 8.15.10.2281 or 8.15.10.2226) for Intel G45 chipset(X4500HD/MHD IGP). 32bit downloadcenter.intel.com/Detail_Desc.aspx 64bit downloadcenter.intel.com/Detail_Desc.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.]

  • Anonymous
    April 06, 2011
    Dell's Intel 4 (GM45, Win7x32) are build 2182 - Intel having 2302 drivers is of no use to us since like Lenovo we can't install the newer drivers either.

  • Anonymous
    July 25, 2011
    Intel has released new drivers, 8.15.10.2413(newer than 8.15.10.2302 or 8.15.10.2281) for Intel G45 chipset(X4500HD/MHD IGP). Try uninstalling the current drivers before installing these so the idiotic driver checks/blocks will not interfere. 32bit downloadcenter.intel.com/Detail_Desc.aspx 64bit downloadcenter.intel.com/Detail_Desc.aspx

  • Anonymous
    August 02, 2012
    Good morning all, we have an issue with ATI and nVidea boards when we span multiple displays.  We really need to use GPU rendering but IE9 freezes.  If we turn it off IE 9 does not crash but we loose performance in our application.  Previoius versions of IE did not cause this same issue.   We are running custom medical boards for hi-res displays.  Has anyone seen or experienced this?    

  • Anonymous
    August 06, 2012
    @Doug: Please email me using the "Email blog author" link at the top-right of this page. Thanks!