Windows 7 – Optimise Visual Effects for all New User Profiles

By | May 3, 2015

Optimisation Type [explain] : user experience (↓↑) / resource optimisation (↑) / functionality (-) / administration (-)

this is my 3rd post about Visual Effects optimisation. It must seem I have some obsession about this. Kind of!! As I haven’t found a completely reliable source of information on how to do this.

In the land of remote access to Windows desktops, regardless of protocols, any changes on the screen will have to be sent across the network. The more changes, the higher the network bandwidth requirements. I would think this is probably one of the reasons why Windows have an advance settings page to allow you to tweak the visual effects. Another reason would be some of these actually take up more CPU cycles, so on slower/older PCs it will actually impact the user experience.

The purpose of this post is to provide the method on how to apply the same settings to users from the moment their user profile is created the first time. Now, although the default settings applied to new users may be what IT prefers, but savvy users will know a trick or two and change the settings to what they may like. To counter these, we need to add on a second control to enforce the settings.

I wrote a post earlier on how to enforce the Visual Effects settings via GPO. That is still an important step. Applying the settings via GPO helps to keep individual user settings to that desired by IT. Although it may not be a realtime enforcement, but it will make sure the settings are what it needs to be each time the user logs on.

Back to this.

I’ve read many documents and posts and quite a few just suggest to tweak registry settings to the default user profile. I couldn’t find any that gives the complete solution. I hope this post will you out, if you are looking for a solution.

The most common solution I found was to simply set the registry which defines the setting for “Adjust for best XXXXX” settings, and the checkboxes below. Unfortunately, that doesn’t help.

The registry value which stores the setting is

HKU\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects > VisualFXSetting

By setting the value to 0x2 (hex) it adjusts the radio button to “Adjust for best performance”. As you can the picture below on the right, the desired setting is in place, and all the check boxes are turned off. It is suppose to mean all visual effects have been disabled. Well, it’s not really the case. Compare the appearance of the two windows below. The one on the left is when the settings are truly in place and in effect. So, setting that registry value alone is insufficient.

Best Performance Windows 7 Visual Effects when applied

Best Performance Windows 7 Visual Effects when applied

Best Performance Windows 7 Visual Effects Not in Effect Best Performance Windows 7 Visual Effects Not in Effect[/caption]

The second registry value that is also commonly suggested is

HKU\Control Panel\Desktop > UserPreferencesMask

Making changes to the above value in default user profile does nothing at all. It is only useful when we push settings from GPO on an ongoing basis, but when a new profile is being created, quite unexpectedly the settings are not inherited from the default user profile. In fact, these settings are actually taken from a particular key under HKEY_LOCAL_MACHINE.

HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects

I have create a batch file that you can run to turn everything off. Feel free to copy the below into a text file in notepad and save as a .bat file. Of course, if you may not need to turn everything off, please pick and choose the values to maintain.

@REM Use this script for Windows 7 desktops to tune down Visual Effects
@REM Setting Default HKLM values
@REM Script by Jason Yeo; @jasonyzs88
@REM Script Version 1.1 - covers 3D (AERO) and 2D Visual Effects; disables Themes service.

reg load "hku\temp" "%USERPROFILE%\..\Default User\NTUSER.DAT"
reg add "hku\temp\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects" /v VisualFXSetting /t REG_DWORD /d 0x3 /f
reg unload "hku\temp"

reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\AnimateMinMax" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ComboBoxAnimation" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ControlAnimations" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\CursorShadow" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DragFullWindows" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DropShadow" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DWMAeroPeekEnabled" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DWMEnabled" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\DWMSaveThumbnailEnabled" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\FontSmoothing" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg DELETE "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\FontSmoothing" /v NoApplyDefault /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ListBoxSmoothScrolling" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ListviewAlphaSelect" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ListviewShadow" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\MenuAnimation" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\SelectionFade" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\TaskbarAnimations" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\ThumbnailsOrIcon" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\TooltipAnimation" /v DefaultValue /t REG_DWORD /d 0x0 /f
reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects\TransparentGlass" /v DefaultValue /t REG_DWORD /d 0x0 /f

sc config Themes start= disabled
sc stop Themes

pause

Conclusion & Recommendation

How I would optimise an environment is to apply both the settings from this post, and to enable ongoing enforcement of the settings via GPO. This would be a complete solution where user visual settings are configured up front right from the first time their profiles are created. If the settings change, the GPO enforcement will then re-apply the settings back to what is desired by IT.

 

Leave a Reply