HDX Graphics modes, we all love them for being so flexible and most of us know it can impact the user experience but we noticed that choosing the right HDX Graphics mode can impact your desktop density too.
During some of the benchmarking by the performance team of Nutanix (Thanks a million Will Strickland!) we ran in to density differences when the Citrix Virtual Delivery Agent got upgraded from version 7.6 to 7.9. This was the start of more research and an interesting discussion with Citrix.
The setup Will was using was based on XenDesktop 7.9 with Nutanix AHV and the latest AOS version and LoginVSI to do some performance testing. The test was run with version 7.6 of the Citrix VDA but because the official support for AHV comes with XenDesktop 7.9 we requested to install the corresponding VDA (v7.9) on his golden image. Between those two tests (we executed multiple runs of the same test to verify results) we saw a noticeable difference between the two scenarios while we only changed the VDA in the golden image.
The difference in the two tests came from a change in the HDX graphic modes, the default is based on the installed VDA and can obviously be changed by using the Citrix policies.
Default HDX Graphics modes per VDA:
- VDA 7.6: DCR
- VDA 7.8: H.264
- VDA 7.9: Thinwire+
It might be useful to get a basic understanding of the differences between those HDX Graphics modes so from the Citrix Consulting: HDX 7.X: Do You Know Your Graphics Mode? article:
Desktop Composition Redirection (DCR) is based on the Aero Redirection feature introduced with XenDesktop 5.x. DCR offloads DirectX commands used by the Desktop Windows Manager to the user’s Windows device which reduces CPU load on the server. DCR was set as the default option for desktop VDAs because desktop composition cannot be disabled with Windows 8 and above. Prior to XenDesktop 7.6, DCR required significantly more bandwidth because it did not leverage any adaptive settings (it is fixed quality). Therefore, DCR should be disabled for WAN users accessing a XenDesktop 7.5 and below VDA. (Disabling Aero in Win 7 will also disable DCR.) DCR in XenDesktop 7.6 has several improvements that lower its bandwidth requirements, including adaptive graphics. With existing Windows Receivers 3.x to 4.1 DCR can leverage adaptive graphics similar to those found in XenDesktop 5.x (JPEG). With Receiver 4.2 DCR will leverage an H.264 adaptive display. DCR is also now available on Mac end-points with Receiver 11.9.
H.264 Enhanced SuperCodec, initially part of HDX 3D Pro, the H.264 encoder is now part of the enhanced HDX SuperCodec graphics mode and allows for the delivery of Windows 8 and Server 2012 desktops. The encoder used in previous versions of XenApp and XenDesktop cannot be loaded in Windows 8 and is not optimized for Server 2012. Therefore this graphics mode is the default setting instead of the legacy mode in XenApp and XenDesktop 5.6. The codec runs completely on the server CPU (not in GPU) and allows for a desktop with desktop composition (Aero in Win7) to be delivered to any device although at the cost of additional server side CPU.
Thinwire+(Compability mode): Thinwire Compatibility Mode uses new screen decomposition and caching techniques, which achieve low bandwidth usage and high server scalability without compromising the end-user experience. The feature set of Thinwire+ includes:
- Intelligent bitmap matching for a bitmap-only provider. As much as possible, previously sent bitmaps are reused resulting in lower bandwidth.
- Bitmap translation analysis resulting in efficient window movement and scrolling.
- Higher default quality settings for lossy bitmap when compared to Legacy mode
- Emulated 16-bit mode, further reducing bandwidth for typical workloads.
- Improved transient detection for server rendered video content.
Multi-transient handling for better multimedia experience e.g. when watching multiple videos
- Ultra-low server CPU usage, improving scalability.
- Fully backwards compatible, no need for client upgrades or hardware acceleration.
- Designed for port to Linux (already used by the Citrix Linux VDA)
- Adaptive display, tunable through the policy system
- Completely new “Build to Lossless” mode for 3D Pro, faster responsiveness, better interactivity.
- Interruptible sharpening – allowing improved user experience on low bandwidth
Looking at the LoginVSI scores between our test with Windows 7 which included the first and the last VDA listed here (basically DCR vs Thinwire+) we saw a difference of about 55% in density. Mind you, this difference is only seen with Windows 7 as the difference with later OSs is significantly lower. In a later test we disable Aero and enabled Thinwire+ and we saw the expected densities again which draws to the conclusion that Thinwire+ combined with Aero will impact your density on Windows 7.
Logically DCR would be interesting but Martin Rowan provided some excellent insights on the usage of DCR:
- DCR can have some compatibility issues.
- DCR is not supported on the Windows 10 VDA.
- DCR is not available on Windows Server OSs
From the HDX team I got the following feedback:
On Windows 7, when Aero is on for D3D9, Citrix uses swiftshader for CPU rendering the desktop session (DWM is a D3D9 app) for every input frame of display update before it gets to ctxgfx.
When using Win8/10 WARP is more CPU efficient for the DWM raster – also MS did away with the glass effect.
Any bitmap based encoder will have trouble with Aero, so the recommendation is usually to turn it off.
Finally DCR can be very bandwidth intensive which can overload links to remote offices or WAN connections when multiple sessions are running.
It’s fair to say that the difference that we noticed was based on CPU constraints but if we look at the limitations of DCR as being a graphical remoting protocol it does make sense to move to H.264 or Thinwire+ as it will be a logical choice within your organisation. Just keep in mind that moving to a different VDA and thus HDX graphics mode might change your desktop density, that being said, both H.264 and Thinwire+ are future proof remote display modes so it might be worth the additional work to move over.
Some helpful tools/resources to help you decide:
- HDX Graphics Modes – Which Policies Apply to DCR/Thinwire/H.264 – An Overview for XenDesktop/XenApp 7.6 FP3
- HDX Monitor
Latest posts by Kees Baggerman (see all)
- Updated: VM Reporting Script for Nutanix with Powershell - July 3, 2019
- Updated (again!): VM Reporting Script for Nutanix AHV/vSphere with Powershell - June 17, 2019
- Updated: VM Reporting Script for Nutanix AHV with Powershell - April 8, 2019
- How to add a CD-ROM drive and mount an ISO file via powershell to an AHV-hosted VM - March 27, 2019
- How to add a nic via powershell to an AHV-hosted VM - March 25, 2019