Optimize your Windows 7 virtual desktops for better performance

A little while ago, my German Specialist SE End User Computing colleague, Valentin Allert, sent me a document on how to optimize a Windows 7 virtual desktop in a VDI/VMware View environment, for better performance. He summarized the information he received from within VMware but also information he collected from Proof of Concepts.

Valentin and I wanted to share this information with you:

“There are at least four different areas where optimization can be applied:

  1. The virtual machine settings on vSphere
  2. Inside the virtual machine
  3. Group Policy settings in Group Policy Management Console
  4. Pool settings in View Administrator

1. virtual machine settings:

  • Make sure your golden image/parent VM/master is installed on the latest hardware version of your vSphere platform. Do double check if this HW version is compatible with View Local mode, if you want to use local mode
  • Make sure your VM has an LSI SCSI Controller and not IDE boot device. Especially important for XP, because IDE is the default setting when creating a XP VM
  • If you want to have good Video performance maximize the Video RAM to 128 MB manually
  • If you want to have good multimedia performance, like video, make sure your VM has 2 vCPU’s

2. Inside the virtual machine:

  • We do see customers using their deployment tools and use the same image they use for physical devices, for the new parent VM. Avoid this. Create your parent VM from scratch, so, for example, different hardware drivers won’t be in the VM. Keep the VM as clean as possible
  • Install VMware Tools first and after that, install the VMware View agent
  • In our Windows Optimization Guide for Windows 7, you will find three Text files. Rename 1 of them into .bat. Before you run this file, do read the guide carefully. Check what this script will turn off/disable and make sure this fits in your environment. Then, run the file which fits to your scenario:
  1. If you are updating from an earlier Version and you want to use the same golden Image but want to activate VMware Persona Management only use CommandsDesktopsReadyForPersonaManagement.txto
  2. If you have a fresh installation and a want to use VMware Persona Management use CommandsPersonaManagement.txt
  3. If you have a fresh installation and don’t want to use VMware Persona Management use CommandsNoPersonaManagement.txto

If you want to use AERO with glass etc. you have to delete or REM the following lines in the script:

  1. Powershell Set-Service ‘UxSms’ -startuptype “disabled”
  2. Powershell Set-Service ‘Themes’ -startuptype “disabled”

I always would delete the second line though, otherwise the new View Desktop looks like Windows 3.11 which is not good for user acceptance.

  • Run the script as administrator (yes the right click “run as” command)
  • One settings is most important and unfortunately I couldn’t find a way to set this settings through GPOs:
  1. You must have left Themes activated when running the optimization script (step before). Log on as Administrator
  2. Choose Windows 7 standard theme
  3. Go to advanced settings->performance ->enable adjust for best performance but then activate the last point visual styles again:









  • After that, you could consider creating a default user with these new settings. Follow the official Microsoft steps to do so. Yes, Sysprep is the only supported way.
  • Optionally, create a snapshot and call it first optimization
  • Install the apps you want to have in your master Image
  • Create your final snapshot call it Master 1.0

3. Group Policy settings in Group Policy Management Console:

  • Create an OU where you will deploy your View desktops
  • Create a Group Policy Object for the virtual desktops.
  • Right click, edit -> if you are pre 2008 using adm files go to computerconfiguration -> administrative templates ->right click import/export
  • Delete all default template out of the object
  • Import PCoIP adm files located on your View Server: C:\Program Files\VMware\VMware View\Extras\Group Policy Files\
  • Go to: Computer Settings -> administrative templates -> classic administrative settings -> PCoIP settings
  • Activate -> Not to build to lossless – This settings prevents PCoIP from always build the picture to a lossless condition which is only used in graphical, healthcare or construction scenarios
  • Set Min picture quality 50 / max picture quality 70 / 24 Frames Because of the history of PCoIP we it uses 30 FPS as a default which is way to high if we consider that an Movie has 24 FPS
  • Disable AES 256 and Salsa encryption, if using 5.1 if you are using an older Version disable only Salsa because one of the encryptions has to be activated. 5.1 has three encryptions so you can disable two, earlier version have two encryptions so you can disable one.
  • Disable all features you do not need like maybe Audio or Clipboard
  • Do not play around with settings like bandwidth floor etc. PCoIP has a pretty behavior by itself.

4. Pool Settings in View Administrator:

When creating your first pool with linked clones make sure to have at least these settings, all other settings are depending on your use case:

  • If you are on vSphere 5.x and View 5.1 make sure you have the View Storage Accelerator enabled
  • If you have Video intense workload configure the pool with 4 monitors and max resolution (even if you don not need it)
  • If you have CAD, Google Earth or any other DirectX or OpenGL Apps activate 3D (if you do not have the option you have to disable –allow users to choose protocol-) if you still do not have the possibility to activate AERO inside of the Desktop you have to make sure that the script didn’t disable UXSMS and Themes services (DirectX and OpenGL are working anyway.)
  • Place your Replica on a SSD if you have them. If you have a storage system with storage tiering, with a big cache make sure to create only one replica place it on a small extra LUN (save time and space and the replica will end up in the cache anyway)”

Additional Information:

Leave a Reply

Your email address will not be published. Required fields are marked *