Setting Windows 7 Best Performance Settings in Parent Image

Windows 7 (along with other versions of windows desktop operating systems) offer the ability to adjust visual affects to help the performance of the operating system.  These settings can be changed in Advanced System Settings –> Advanced tab –> Performance settings and also via the registry.

When setting via the registry, it requires a logoff and re-login for the changes to take affect (or API calls), which in the non persistent VDI world causes some issues.  If setting via group policy, there’s a few keys to adjust in HKCU, but these keys need to be loaded at logon, or the theme and/or windows explorer need to be reloaded.  Luckily there’s a much more elegant way to set these in a parent image without changing the default user.

Lets first take a look at the settings available

Visual Effects

For this article i will focus on adjusting with custom settings.  These settings show up under HKCU but are also found under HKLM.  We will be making all of our changes under HKLM.  The first key to add (if it doesn’t exist) is VisualFXSetting. We are going to give this a value of 3 which sets the visual effects to custom. The other options are 0,1,2 which are Let windows choose whats best, adjust for best appearance and adjust for best performance.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]
"VisualFXSetting"=dword:00000003

Once this is set, we can move on to the rest of the changes. If we browse to the same registry key as above, we’ll see a list of subkeys.

SubKeys

If you highlight each of the subkeys, you’ll see a value titled DefaultValue. By default, these are all set to 1, which is enabled. Change this DefaultValue to 0 for each key you would like to turn off. Once you have adjusted the keys you would like, power off the VM take a snapshot and recompose the pool. These new values will take effect for all cloned VM’s from this new snapshot.

Setting these values in HKLM rather than HKCU makes the Visual Effects settings easy to adjust for non persistent VDI images. No sysprep, no adjusting the default user profile and no pushing registry changes via Group Policy and Group Policy Preferences.