I get an awful lot of inquiries about the graphics mode policies available for HDX in Citrix XenDesktop/XenApp. The GUI shows a vast array of options and its clear from how haphazardly they seem to be set in support call logs that many users are confused as to what these do and actually fail to realise most of the settings pertain to a legacy graphics modes that they aren’t using. Cleaning up the architecture, documentation and GUI is a high priority for us, but it’s not quite there yet.
HDX has a number of different graphics modes for remoting desktops and apps. Originally the HDX team at Citrix wrote a “thinwire” mode based on JPEG and bitmap remoting that was optimised for the OSs of the time which based their graphics stacks around GDI/GDI+, specifically Windows 7 and Windows Server 2008 R2 and earlier. As the first graphics mode, it evolved over time:
- We initially added a lot of control via policies
- As we learned many policies became unnecessary as we added automated adaptive behaviour within the product
- We added some extra policies at customer demand
- We couldn’t remove policies even when they were no longer necessary as many customers wished to retain the legacy behaviour
Time and OSs moved on, Windows 8.x and Windows 2012 R2 upwards no longer used GDI/GDI+ but based their graphics stacks around DirectX technologies. Citrix in turn developed new graphics modes suited to the architecture of the newer OSs and in newer versions of XenDesktop named the original thinwire mode “legacy graphics mode” because it’s designed and optimised for “legacy OSs”.
By the time we introduced the newer graphics modes, we now had the adaptive orchestration capabilities in the code and had learned which policies were really necessary. However certain constraints in the GUI mean we still have to include all the policies available for every graphics mode a user might use.
My colleagues published a very useful table for XenDesktop/XenApp 7.6 showing which policies apply to which mode, here, with an excellent article that also explains what each graphics mode does and how to investigate graphics modes. Here is that table (note how most policies only apply to legacy mode”:
Policy | User/Computer | DCR | H.264 | H.264 compatibility mode | Legacy Graphics Mode | Comment |
Desktop Composition graphics quality | User | X | ||||
Desktop Composition Redirection | User | X | Disabling DCR mode on DCR capable VDAs/Endpoints will enable H.264 (or H.264 Compatibility Mode) | |||
Display memory limit | Computer | X | X | X | ||
Display mode degrade preference | Computer | X | ||||
Dynamic window preview | Computer | X | X | X | This feature only valid for seamless applications (Published apps or Local App Access) | |
Image caching | Computer | X | ||||
Legacy graphics mode | Computer | X | This policy will enable Legacy Graphics Mode | |||
Maximum allowed color depth | Computer | X | ||||
Notify user when experience is degrade | Computer | X | Valid for RDS only | |||
Persistent cache treshold | Computer | X | ||||
Queuing and tossing | Computer | X | ||||
Extra color compression | User | X | Extra Color Compression is an optimization that saves upto 20% on the size of lossy compressed images, but at the expense of quality. Turning it off makes some images, like text over a complex background appear sharper. | |||
Extra color compression threshold | User | X | ||||
Heavyweight compression | User | X | ||||
Lossy compression level | User | X | ||||
Lossy compression level threshold value | User | X | ||||
Minimum image quality | User | X | Valid for Legacy Adaptative Display ONLY : it sets the minimum acceptable quality for transient (moving) images. | |||
Moving image compression | User | X | Enables or disables Adaptative Display | |||
Progressive compression level | User | X | If enabled, adaptative display is disabled and switch to progressive display | |||
Progressive compression threshold value | User | X | ||||
Target frame rate | User | X | X | X | ||
Target minimum framerate | User | X | Valid for Legacy Adaptative Display ONLY : it uses this setting to decide when to drop quality for transient (moving) images. | |||
Visual quality | User | X | X |
You should only ever be using legacy mode for OSs for which it is designed i.e. Windows 7, Windows 2008 R2 and earlier. I’ve taken the table above and deleted every policy that only relates to legacy graphics mode. These are the only policies in XenDesktop 7.6 as it was initially released which you need to consider if you are not explicitly setting your deployment to use legacy mode.
Policy | User/Computer | DCR | H.264 | H.264 compatibility mode | Legacy Graphics Mode | Comment |
Desktop Composition graphics quality | User | X | ||||
Desktop Composition Redirection | User | X | Disabling DCR mode on DCR capable VDAs/Endpoints will enable H.264 (or H.264 Compatibility Mode) | |||
Display memory limit | Computer | X | X | X | ||
Dynamic window preview | Computer | X | X | X | This feature only valid for seamless applications (Published apps or Local App Access) | |
Target frame rate | User | X | X | X | ||
Visual quality | User | X | X |
IMPORTANT: You must not extrapolate this reduced table to later Feature Packs of XD7.6, VDA releases etc. as it is likely some new policies will be added for Framehawk and a few legacy graphics policies may be reused to support the emerging Thinwire+ technologies.
As you can see we’ve done a pretty good job tidying up the configuration that unfortunately hasn’t been reflected in the GUI yet. So… if you aren’t using legacy graphics mode (which should only be applied to Windows 7, Windows 2008 R2 and earlier) it really is fairly simple. Legacy graphics mode on 7.6 has to be explicitly turned on via a policy (in the first table above).
References:
- Citrix Blogs How to determine which HDX graphics mode you are using
- CTX139331 – Citrix Virtual Desktop Handbook 7.x
- Citrix Blogs – What’s new with HDX display in XenDesktop & XenApp 7.x?
- Citrix Blogs – Go SuperSonic with XenDesktop 7.x Bandwidth SuperCodecs
- Citrix eDocs – Policy Reference (Details of what individual policies do)
Rachel, thank you for yet another great blog! This one definately makes it a lot easier to find my way through the many HDX optimization policies out there 🙂
Cheers,
Esther
LikeLiked by 1 person
Reblogged this on Virtual Sheep and commented:
A wonderful article on XenApp graphic policies by awesome colleague, Rachel Berry!
LikeLike
Another great resource for information for resolution limits for various monitor options, in particular with attention to 4k displays: http://support.citrix.com/article/CTX201696
LikeLike