Last week a customer was complaining of sluggish performance and specifically that when using IE or attempting to print from IE 9 in their virtual desktops it took a long time to bring up the printing menu. When I say a long time… think a minute or more. Now that seems slow, but its really glacier slow in desktop terms. I mean, sit there and watch the second hand on your clock for 60 seconds and imagine waiting for ANYTHING from your PC for a minute. That is a long time.
Well after digging around we found that this had nothing to do with Unidesk and was instead a function of a setting in Internet Explorer that takes about a second to resolve.
So, let’s start with the fix first, then explain a little about what is going on under the covers.
So you need to select "Use software rendering instead of GPU rendering". This setting tells IE to use the CPU instead of the attempting to access the GPU generally availble on regular desktops. Checking this and restarting the browser brought performance back to where it should be for our customer.
After finding the “fix” and doing some digging around we found this Microsoft KB article http://support.microsoft.com/kb/2528233 that said:
Hardware acceleration is a new functionality of Internet Explorer 9 that allows Internet Explorer to move all graphics and text rendering from the Central Processing Unit (CPU) to the Graphics Processing Unit (GPU). In some cases it’s necessary to enable or disable hardware acceleration to check for hardware or software compatibility issues with viewing certain internet websites.
Sounds great, but in a VDI environment does your VM have access to the GPU? Probably not, for most of us! Also of note (from one of the IE blogs are Microsoft) is that when IE is attempting to use the GPU and you have bad/incompatible driver it can cause IE crashes (this is besides the slow performance).
Basically everything I have seen is pointing to setting IE9 to use software rendering in your VDI images unless you are hosting these VMs on Windows Server 2008 R2 w/ SP1 with a processor that supports SLAT.
For now… I’ll be using the software emulation.