The evolution of the HDX display capabilities and quality is something, as a Citrix employee, I’m really proud of. There is almost no XenApp & XenDesktop release without further improvements relative to user experience, performance, stabilization, and utilization of computer and networking resources. In the meantime, we are able to offer a suitable solution for every situation and the good news is we will not stop and will continue to provide new technologies and optimization functions based on our customers’ needs and challenges. As Barney Stinson would say: “Challenge accepted!” 😊

I’m sure you will agree with me that the function stack we offer gives you a broad set of capabilities to configure your sessions appropriately based on latency, bandwidth computer resources, and especially content type. But I’m also sure that many of you have noticed, while trying to configure the policies, that we are offering many settings which can be used in thousands of combinations. In addition to that, the frequent evolvement of all HDX Graphics Encoder types has changed the circumstances many times. All this makes it sometimes difficult to configure the right settings.

Let’s have a brief look what has happened since 7.6:

Release Changes
  • Re-engineering of the Compatibility Mode (aka Thinwire+ or Snowball). Heavily reduced bandwidth and computing resource consumption (see article)
  • Default HDX Graphics Encoder Type: H.264
  • Further improvements related to all HDX Encoders in term to stabilization and performance (see article)
  • “Use when preferred” were introduced as default policy option under “Use video codec for compression” (see article). Based on the VDA type, the following default HDX Graphics Encoder Type will be applied:
    • Server VDA: Compatibility Mode (equivalent to: Do not use video codec)
    • Desktop VDA: Compatibility Mode (equivalent to: Do not use video codec)
    • Desktop VDA with HDX 3D Pro: H.264 (equivalent to: For entire screen)
    • A detailed explanation is documented in Muhammad’s article
  • Introduction of Selective H.264 and additional improvements for the Compatibility Mode and HDX 3D Pro uses cases (see article)
  • “Use when preferred” is still the default policy option (see article), however, the following HDX Graphics Encoder types will be applied now:
    • Server VDA: Selective H.264 (equivalent to: For actively changing regions)
      • Fallback with incompatible Receiver: Compatibility Mode
    • Desktop VDA: Selective H.264 (equivalent to: For actively changing regions)
      • Fallback with incompatible Receiver: Compatibility Mode
    • Desktop VDA with HDX 3D Pro: H.264 (equivalent to: For entire screen)
      • Fallback with incompatible Receiver: Compatibility Mode
  • 8-bit color support (see article)
  • Release of the UDP based protocol Enlightened Data Transport (see article)
  • Reduction of network bandwidth utilization up to 60% (see article)

Now the obvious question is: Why so many default HDX Graphics Encoder type changes? You will find the answer to this question here. And moreover, what do I need to configure finally nowadays? What does really matter for my very individual and unique environment? Well, you will not like it, but the answer to this question is as usual: “It depends” 😊. But this time you might get along with the answer because the intention of this blog post is, to give you a comprehensive overview of all relevant HDX Graphics Encoder settings. This overview should give you a guidance and allow you to configure an optimal HDX policy set based on your own needs.

A picture always helps to better understand the technology and its settings. Thus, I created a Visio chart with an overview of all relevant configurations and their possible combinations. Furthermore, almost every setting has a review box. The review boxes contain, where applicable, the policy name, facts & figures, recommendations, and example use cases.

I’ve also provided a PDF version for those people who don’t have Visio available. However, the review boxes are not available and therefore you can use the PDF only for a configuration combination overview.

Please download the files here:

Last, but not least, I would like to give you some advice to support you in finding the best combination. Although we have many configuration possibilities your first choice should always be Selective H.264 unless you have a real reason to change it. Why? Because Selective H.264 combines the two HDX Graphics Encoder types H.264 (best for moving content) and Compatibility Mode (best for still images and text) and will decide for the proper HDX Encoder for the certain display area based on its content. Hence, the optimal encoder will be leveraged automatically. This also fits to our Citrix Consulting best practices to keep it simple and always start with the default configuration.

There are for sure some scenarios where an adjustment is necessary. I personally like to differentiate LAN and WAN connections. While LAN based sessions can run with higher quality, you would usually favor responsiveness, performance and stabilization over display quality for WAN connections. Especially reducing the target frame rate, visual quality and color depth can heavily reduce the bandwidth utilization and increase the responsiveness. Nevertheless, involve the users in beforehand to ensure that the quality is sufficient. I would also like to emphasize that EDT is definitively a value add for almost every connection. Based on my first tests, EDT will outperform TCP in many areas, especially in WAN scenarios where TCP cannot consume the full bandwidth at some point if you are having a high latency while using the default TCP window size (no, don’t change it). More about EDT and its requirements are documented in the Citrix Docs.

HDX 3D Pro is an area where adjustments are more likely than for regular office use cases. Application behavior, content type and user requirements will heavily influence your decision process. Due to the nature of 3D, you will experience high network bandwidth consumption and resource utilization on server and client side. The challenge here is to find the sweet spot of the configuration set to achieve the right balance of optimal resource utilization and user experience. Usually H.264 should perform better than the Compatibility Mode. Network bandwidth should be smaller with H.264 but on the other side you will notice higher CPU utilization on the client and server, which can be reduced again if you leverage server and client hardware acceleration. For environments where client hardware acceleration can’t be used, Compatibility Mode might be the right decision. Further details regarding the usage of HDX 3D pro can be found in the support article HDX 3D Pro GPU Hardware Support and Deployment Considerations.

Long story short, as you may have noticed there are many approaches how to setup the HDX Graphic Encoder for all the different kind of scenarios. But which one is the most suitable for your environment? Use the Visio chart to find out which one suits you best.

One important note to all of this. Please be aware that this blog article was written based on XenApp & XenDesktop CR 7.14 and LTSR 7.15. You might need to consider additional technologies and configurations with future releases.

I would like to thank Co-Autor Martin Latteier who has helped to put all this together and also big kudos to Andrew Woodard, Muhammad Dawood, Rico Projer and Ronald Grass for providing information and helping during the research phase.

I hope the article has helped you to get an overview and to better understand what matters with regards to HDX Graphics Encoder configurations. Nevertheless, I’m very curious about your opinion and experience. Drop a comment and share your lessons learned to the community 😊.

Thanks & best regards,
Saša Petrović
Architect | Consulting Services | Central & Eastern Europe

Citrix TechBytes – Created by Citrix Experts, made for Citrix Technologists! Learn from passionate Citrix Experts and gain technical insights into the latest Citrix Technologies.

Click here for more TechBytes and subscribe.

Want specific TechBytes? Let us know!