Optimize VDI: Windows 10 User Interface and Runtime (Original, Anniversary and Creator Updates)


This is a multi-part blog series focused on optimizing Windows 10 VDI

As we saw in previous blogs, Microsoft added new default apps, services and scheduled tasks into the base operating system of the Windows 10 Build 1703 (Creator Update). These updates will have an impact on the user experience, especially in a VDI implementation.

User Interface

The next step is to look at optimizing the user interface. Generally, the following list of User Interface optimizations have become standard across operating system releases. These modifications are meant to give the user a better experience from an application responsiveness perspective by disabling extra animations.

Optimization Configuration
Disable default system Screensaver [HKEY_USERS\.DEFAULT\ControlPanel\Desktop]
“ScreenSaveActive”=dword: 00000000
Disable the Windows 10 first logon animation [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
“EnableFirstLogonAnimation”=dword:00000000
Hide Hard Error Messages [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Windows]
“ErrorMode”=dword:00000002
Settings “Visual Effects to Custom” [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]
“VisualFXSetting”=dword:00000003
Disable “Show translucent selection rectangle” [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
“ListviewAlphaSelect”=dword:00000000
Disable “Show shadows under windows” [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
“ListviewShadow”=dword:00000000
Disable “Animate windows when minimizing and maximizing” [HKEY_CURRENT_USER \ControlPanel\Desktop\WindowMetrics]
“MinAnimate”=”0”
Disable “Animations in the taskbar” [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
“TaskbarAnimations”=dword:00000000
Disable “Enable Peek” [HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM]
“EnableAeroPeek”=dword:00000000
Disable “Save Taskbar Thumbnail Previews” [HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM]
“AlwaysHibernateThumbnails”=dword:00000000
Disable “Smooth edges of screen fonts” [HKEY_CURRENT_USER \Control Panel\Desktop]
“FontSmoothing”=”0”

Note: For Windows 10, this optimization might not improve BW usage.

Disable the rest of the visual effects [HKEY_CURRENT_USER \Control Panel\Desktop]
“UserPreferencesMask”=RegBin: “90,12,01,80”
Disable cursor blink rate [HKEY_CURRENT_USER \Control Panel\Desktop]
“CursorBlinkRate”=”-1″
Disable Internet Explorer First Run Wizard [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\InternetExplorer\Main]
“DisableFirstRunCustomize”=dword:00000001
Reduce menu show delay [HKEY_CURRENT_USER\ControlPanel\Desktop]
“MenuShowDelay”=”0”

Runtime

We also need to optimize the underlying runtime environment to disable functionality that would provide little value in a non-persistent VDI environment. Generally, the following list of runtime optimizations have become standard across operating system releases.

Optimizations

Optimization Configuration
Disable hibernate Powercfg -h off
Maximum Performance Verify BIOS is set for maximum performance and not low power.
Antivirus definitions If antivirus is installed and running within the virtual desktop, updating the definition file will prevent all desktops from updating on first boot up.
Windows update It is typically advisable to have the latest Windows 10 updates and security fixes before rolling out the image into production. Just remember that if the Windows Update service was disabled, it must be re-enabled to run the update. And if you had to enable it in order to run Windows Update, don’t forget to re-disable it.
App updates Many applications have integrated auto update functionality. These applications should be updated, then the auto update functionality should be disabled.
Disk defragmenter The disk might have become fragmented during installation and configuration, which will lead to less performance. Defragmenting the disk before rolling out will give better performance and reduce storage utilization.

Registry updates

Optimization Configuration
Disable NTFS Last Access Timestamps [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
“NtfsDisableLastAccessUpdate”=dword:00000001
Disable Memory Dump Creation [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]
“CrashDumpEnabled”=dword:00000000
“LogEvent”=dword:00000000
“SendAlert”=dword:00000000
Disable default system Screensaver HKEY_USERS\.DEFAULT\ControlPanel\Desktop
“ScreenSaveActive”=dword: 00000000
Disable Background Disk Defragmentation [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction]
“Enable”=”N”
Disable Background Auto-Layout [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout]
“EnableAutoLayout”=dword:00000000
Disable the Windows 10 First [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
Logon Animation “EnableFirstLogonAnimation”=dword:00000000
Increase Disk I/O Timeout to 200 seconds [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Disk]
“TimeOutValue”=dword:000000C8

Daniel (Follow on Twitter @djfeller)
Citrix XenApp and XenDesktop 7.6 VDI Handbook
XenApp Best Practices
XenApp Video

Advertisements

One thought on “Optimize VDI: Windows 10 User Interface and Runtime (Original, Anniversary and Creator Updates)”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s