Delivering a graphically rich user experience over a Wide Area Network (WAN) is a challenge. HDX utilizes several technologies to provide a “like local” experience for 2D Graphics over a WAN. Built-in technologies like image acceleration, progressive display, frame rate control, queuing-and-tossing, super cache and persistent cache work together to provide the user with high fidelity and highly interactive virtual desktops and hosted applications. These features could be further fine tuned to improve the user experience on low bandwidth connections (i.e. WANs).
1. Image Acceleration - Image Acceleration now supports explicit control over color compression. By enabling color compression there will be a bandwidth savings of around 35%. It is recommended to enable color compression on low bandwidth network connections but disable color compression when plenty of bandwidth is available (e.g. a LAN environment). This could be explicitly controlled by using the following registry keys –
Note1: EnableSubSampling is the same as EnableColorCompression
Note2: On 64-bit systems these registry keys exist under the Wow6432Node key.
Left is Color Compression enabled and right is disabled.
2. Progressive Display - This technology speeds up graphics performance by applying aggressive compression on transient frames by reducing the bandwidth and providing great interactivity with the desktop. Things like moving windows around, rotating globe/CAD models would remain highly interactive over challenging networks with this technology.
The key is to select the right level of Progressive Display Compression which provides a good balance between interactivity and image quality. On T1 lines (1.5 Mbps), it is recommended to set the compression level to “High Compression” and when the bandwidth goes below 1Mbps it should be set to “Very High Compression”. Additionally, if the server side has enough processing power then enabling Heavyweight Compression gives the same image quality with lower bandwidth or better image quality with same bandwidth.
3. Frame rate - Currently HDX delivers a maximum of 24 Frames per Second by default. It dynamically adjusts FPS based on the network conditions. However, there may be use cases when even higher maximum frame rate is desired (e.g. 30 FPS) such as CAD applications or a desire to bring down the maximum frame rate to 12-15 FPS when low powered end points are used (e.g. thin clients). Maximum frame rate can be explicitly controlled using a registry key –
4. Persistent Cache - This feature caches the bitmaps above a certain size on the client disk enabling bandwidth savings and improving user experience over slow networks. This feature needs to be enabled on the client side and then can be controlled on the server side based on the bandwidth thresholds.
To enable PersistentCache on the client side, the file “Appsrv.ini” must be modified. The file can be found on the client hard disk under the “%UserProfile%\Application Data\ICAClient” directory. Set these values within it:
On the server side, it is enabled by specifying a “bandwidth threshold” below which it is active. The default is 3Mbps. This could be changed using the following registry key –
5. Windows Visual Effects - By disabling some of the windows visual effects, more bandwidth savings can be achieved. There are Citrix policies defined in Citrix Management Console to disable desktop wallpaper, menu animations, and show window contents while dragging. It is recommended that these visual effects be disabled over very low bandwidth connections.