Learn More About New Graphics Delivery Modes
And Improve User Experience

My colleague Gabriel Nguyen and I have written this comprehensive post to help you better understand the changes affecting graphics in the newest XenApp and XenDesktop versions.

XenDesktop 7.x has been released for a while and features several improvements, including new Display technologies such as Desktop Composition Redirection (the evolution of Aero Redirection) and H.264). These new delivery methods have been introduced to the Desktop Composition Feature, introduced in Windows Vista, and have fundamentally changed the way applications display pixels on the screen (read more).

If you are not familiar with these New Display Technologies or if you are unaware of the codecs Citrix uses to transmit them please refer to Citrix Virtual Desktop Handbook 7.x.  Many sections are relevant to both XenApp and XenDesktop.  Read about it in Amit’s blog series (Part 7).

With that said, did you ever wonder when each of these display modes is used by default? Or which Operating Systems are compatible with these modes? Did you also notice the wide range of graphics policies in Citrix Studio (Or, wondered which ones apply to the delivery mode you intend to use for your VDAs)? If all or even one of these questions resonates with you, this blog will be useful !

We have addressed these issues and will provide a tutorial on realistic use cases “from the field”:

  1. I would like to migrate from XenApp 5 for Windows Server 2003 to XenDesktop 7.x Windows Server 2008 R2 VDAs in a very low bandwidth environment, how do I configure my Graphics policies?
  2. I would like to migrate from XD 5.6 to XD 7.x, how should I implement my new policies?

The Big Three (quick reminder)

There are now three main HDX ICA delivery methods in XenDesktop and XenApp 7.x:

  • Desktop Composition Redirection (DCR)
  • H.264-enhanced SuperCodec
  • Legacy Graphics Mode

Each graphics mode has its pros and cons, and again the Citrix Virtual Desktop Handbook 7.x will help you with that.

Desktop Composition Redirection (DCR)

DCR is only available in XenDesktop with client OS VDAs (Vista, Windows 7 and Windows 8.x), in conjunction with Windows endpoints. Historically, individual applications would make drawing calls to our Legacy display driver, which would in turn generate HDX (Thinwire) protocol in order perform drawing on the end user device. With DCR we can now operate at the Desktop Window Manager (DWM) level, using the GPU on the end user device to rasterize the Windows Desktop UI. This graphics mode requires a DirectX capable Windows endpoint. DCR is basically an improved version of Aero Redirection from XenDesktop 5.x

Note: For now only Windows Vista, 7 and 8.0/8.1 are supported endpoints. A prototype of DCR for Mac OS was shown at the Citrix Synergy conference but this is not yet available in the market.

H.264-enhanced SuperCodec

The HDX SuperCodec is an amalgam of codecs that are optimized for different types of data. As of XenApp/XenDesktop 7.x, the SuperCodec has been enhanced with an adaptive H.264 encoder to support the Windows 8 / 2012 new display architecture and the way it draws windows. From Windows Vista onwards although GDI is still supported, it is considered a legacy API by Microsoft. The Citrix Legacy Display Driver is optimized around GDI commands however with successive windows OS releases GDI has transitioned to being a software implementation rather than directly supported in the Windows Display Driver.

Although Windows 7 provided a mechanism for loading and using the Citrix Legacy Display Driver, this is no longer present from Windows 8. Therefore, Citrix implemented the enhanced Supercodec, leveraging adaptive H.264 technology that was previously available only in the XenDesktop HDX 3D Pro VDA. Other enhancements have also been introduced such as an additional lossless high quality text display technology.

IMPORTANT: if the endpoint is running a non H.264 aware Receiver, we have provided a fallback  “Compatibility Mode”.  In “normal usage” (i.e. Visual Quality equal to High, Medium or Low) compatibility mode relies to a large extent on compressed JPEG transmission. Although compatibility mode does use JPEG compression, it can be bandwidth intensive and we would recommend you avoid using this as your primary delivery mechanism, at the current time.

Compatibility mode usage is most frequently seen where users have failed to (or cannot) update their receivers, we would always strongly recommend using a receiver at least as new as the Server installation of XenDesktop.

Legacy Graphics Mode

This is the Citrix display mode that used in earlier XA/XD versions. Lots of improvements have been introduced over the years, such as Progressive Display (PS 4.5 and later), Extra Color compression (XD4 FP1 and later), Adaptive Display (XD5.5 / XA 6.5 HRP1 and later), etc… To deliver Operating Systems using GDI (Windows 7 / 2008 R2 and earlier), it is one of the most efficient modes as far as bandwidth consumption concerned.

OS vs Display Modes

The following is a compatibility matrix showing which display modes can be used on each Operating System.

OS

DCR

H.264**

H.264 compatibility mode

Legacy Graphics Mode

Windows 8

Yes

Yes**

Yes

NA

Windows 7 Aero

Yes

Yes**

Yes

Yes*

Windows 7

NA

Yes**

Yes

Yes

Windows Vista Aero

Yes

NA (reason : VDA 5.6 only)

NA (reason : VDA 5.6 only)

Yes*

Windows Vista

NA

NA (reason : VDA 5.6 only)

NA (reason : VDA 5.6 only)

Yes

Windows XP

NA

NA (reason : VDA 5.6 only)

NA

Yes

Windows 2012 (R2)

NA

Yes**

Yes (not recommended)

Yes (limited)

Windows 2008 R2

NA

Yes**

Yes

Yes

Comments Only available on DirectX capable Windows endpoints and requires high bandwidth. “Visual Quality” set to “Lossless” or “Build to Lossless” will disable H264, and use the Compatible mode instead. Bandwidth intensive – to avoid at the current time Limitations on Server VDAs:On Server 2012 we can use the Legacy driver, but the legacy code is not optimized for the way that server 2012 performs graphics – so as such using Legacy Mode on Server 2012 is not highly recommended at the current time and should be tested before implemented (and don’t forget to implement the optimizations : FPS, Lossy compression, etc..)

Limitations on Workstations VDAs:

Cannot deliver Aero desktops, not compatible with Windows 8 and above as Windows 8 does not support the XPDM driver mode

(*) If the Legacy Graphics Mode has been enabled by policy for a VDA, DCR may still be used for connections to deliver an Aero experience as long as

1. DCR has not been disabled (by policy as well)

2. The endpoint is DCR capable.

3. The Aero Theme has been applied in the session.

(**) In addition to the Operating System requirement, H.264 requires one of the following Receiver versions:

OS Windows Mac OS X Linux Android iOS Chrome OS
Minimum requirement for H.264 3.4 and later 11.8 and later 13.0 and later 3.5 5.9 1.4

Please note that we highly recommend using the latest Receiver versions to get the best performance.

We also would like to warn you about a setting called DeferredUpdateMode. This setting has been enabled by default for Windows Receiver 3.4 and later in order to support H.264. However some customers are still using Presentation Server 4.0 farms (Windows and Unix) and disabled DeferredUpdateMode in order to fix a refresh issue. Please bear in mind if you do so, you will NOT be able to use H.264 with your XenApp/XenDesktop 7.x farms.

If your environment meets OS and Receiver requirements to deliver one of the three display modes, you will be wondering at some point how to confirm which delivery mode you are effectively using!  Well, you can use Citrix Director, HDX Monitor or WMIC commands (to access information via WMI) for that. These will not only output the session’s delivery mode but also all graphics configuration. We also published a support KB article in order to explain all of this : How to Determine HDX Display Mode

Citrix Graphics Policies vs Display Modes

You have probably noticed the extensive number of Citrix graphics policies which actually makes you wonder which ones are valid to be used for each delivery mode. Well, we drew a matrix for you to help you with that:

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

From the field

We–the Citrix TRMs (Technical Relationship Managers)–work closely with our customers to advise them and help them get their issues fixed. Part of our role is also explaining our technologies to the customers. Many customers don’t always appreciate that upgrading the server OS e.g. to 2012 means using an OS where Microsoft has changed the way the display is available and as a result behaviour and bandwidth can change.

In the following case studies, we will try and explain how we would talk a customer through the display changes introduced in XenDesktop 7.x. A typical real-world customer will have legacy constraints themselves such as:

  • Limited bandwidth
  • Some end-users using old thin-clients
  • Unmanaged end-users who forget to update their receivers
  • Old hardware
  • Management processes e.g. want all servers configured the same

We also have to manage expectations of what an upgrade is designed to achieve; if you are involved in such an upgrade always evaluate the existing deployment, both technically e.g. bandwidth used, frame rate delivered but also if customer and end-users are happy with the user experience.

1st use case: migration from XenApp 5 x64 for Windows 2003 to XenDesktop/XenApp 7.x with Windows 2008R2

Environment:

– Several thousands of users in thousands of branch offices

– Low bandwidth (1Mbps) for up to 10 users per branch

– Currently XA 5 2003 x64 farm which works fine and satisfies end-users

– Web application, intranet, office applications and business applications

By moving to a new XD 7.x infrastructure with Hosted Shared Desktops on Windows 2008 R2, the customer notices that ICA sessions are consuming much more bandwidth compared to XenApp 5 sessions.

The mission here is to help the customer find a graphics configuration that provides the same user experience and bandwidth consumption as their XA infrastructure. There are two important facts that shouldn’t be neglected:

  1. Using XenDesktop 7.x with 2008 R2 workers with default settings implies that H.264 or H.264 Compatibility mode is used depending on the Receiver version (see Display mode vs OS section above)
  2. Moving from Windows 2003 to Windows 2008 R2 Hosted Shared Desktops implies a richer experience considering the graphics enhancements introduced by Microsoft. Richer experience means more bandwidth

Since customer’s concern is to keep the same bandwidth consumption as in their XenApp 5 farm, we would advise them to enable Legacy mode. This will provide them the same user experience as in XenApp 5 and enable some high compression Legacy policies.

Note: In this case, Legacy mode was the best fit since there was no rich graphics displayed in the sessions (animations, videos, etc…). In some other cases, H.264 would be much more efficient than legacy mode as far as the bandwidth concerned, but at the same time it will deliver a much better user experience than the legacy mode. However you need to be aware that if you don’t have the right Receiver version your sessions will fall back to H.264 compatibility mode which will consume much more bandwidth and should be avoided. If you read Amit’s blog article, he posted some bandwidth test results performed with Login VSI and H.264 supported Receiver.

Now let us go back to our use case.

The 1st point was about XenApp version change and therefore the default display mode change. In order to reduce the bandwidth, the following configuration was applied:

Setting Value
Extra color compression Enabled
Extra color compression threshold Default
Image caching Enabled
Legacy graphics mode Enabled
Lossy compression level None
Maximum allowed color depth 16 bits per pixel
Menu animation Prohibited
Persistent cache threshold Default
Queuing and tossing Enabled
Target frame rate 15 fps
View window contents while dragging Prohibited
Progressive compression level Medium

Please note that this is just an example. A more aggressive configuration could be implemented to reduce the bandwidth consumption even more (at the expense of user experience)

The 2nd point was about Operating System change. As mentioned before Windows 2008 R2 is much richer than Windows 2003. A very noticeable example is windows outlines. Even if you hide window content while dragging you will notice that windows outlines are very different in Windows 2008 R2 comparing to Windows 2003. These outlines will blend with the background (wallpaper, icons on the Desktop, other Windows, etc…) and it will consume excessive bandwidth when moving windows.

For some customers, we would recommend using a setting called MouseTimer to reduce bandwidth. This parameter is basically a buffer on the client side and will only send mouse movements for a specific period set by MouseTimer. In most cases, we have found that setting MouseTimer to 120ms reduces the bandwidth by half while dragging Windows!

Another important note, we recommend disabling “Mouse shadows under mouse pointer” in high latency environments.

2nd use case: Migrating from XenDesktop 5.6 with Windows XP and 7 Catalogs to XenDesktop 7.x with Windows 7 Catalogs

Migrating from Windows XP to Windows 7 is pretty close to moving from Windows 2003 to Windows 2008 R2 (1st use case exposed above). In addition, even though XenDesktop 5.6 is a much more recent product than XenApp 5, it uses Legacy Graphics mode. Therefore migrating from XD 5.6 to XD 7.x could be easily compared to migrating from XA 5 to XD/XA 7.x and the recommendations we gave in the 1st use case are valid for this use case as well.

The big difference though would be the migration path. Migrating from XD 5.6 to 7.x is as simple as applying a Feature Pack. Customers sometimes don’t realize that they are moving to whole new range of display technologies with consequences on CPU, bandwidth etc…

Let’s say a customer has a catalog of Windows 7 VDIs delivered by XD 5.6 and intends to upgrade to XD 7.x. In this case he is tempted to update DDCs and VDAs to 7.x and apply the same policies as in XD 5.6. If he has very limited bandwidth, he can face what could be an unwanted surprise. Depending on his endpoints he will be using H.264 (eventually in compatibly mode) or DCR, which will have a significant impact on the bandwidth consumption compared to the Legacy mode.

Of course there are many customers who do have a lot of spare bandwidth and improved infrastructure and those users are often delighted by the improvements they can see with the richer graphical experience and higher frame rates that they can achieve.

Takeaways

If you have a migration project to XA/XD 7.x :

  1. You should do an inventory of your Endpoints and determine which display mode will be used by default in XD 7.x (by checking the matrix we provided)
  2. You should benchmark the customer’s existing farm performance to manage their expectations e.g. CPU, bandwidth and frame rates delivered i.e. know what they are happy with today
  3. If some of the display modes don’t suit your use cases or your infrastructure resources in terms of bandwidth and CPU, revert to Legacy mode*
  4. If you would like to go a step further and reduce bandwidth in Legacy mode, you can apply an aggressive configuration as we exposed in the 1st use case. You can also use the MouseTimer trick mentioned above (this parameter is a must in a very reduced bandwidth)
  5. Don’t forget to turn off “Mouse shadows under cursor pointer” in high latency environments

(*) Please note that Legacy Graphics Mode is NOT our general recommendation. Legacy was a good fit above for the reasons exposed above. In other cases which are probably the most common ones, H.264 will be a better choice. On the other hand DCR is only currently recommended in high bandwidth environments.

Since Legacy mode is a server wide policy, we also have found good practice to establish early on if a customer is willing to silo users onto different servers using different delivery modes. Many companies have a mixture of end points and as a result have lots of end-points for which legacy mode is unnecessary and the newer technologies can offer those users more. As end-user hardware is refreshed in the future or branch office connectivity is improved, customers typically can migrate users across.

This is about it! Thanks for reading our blog article.  We hope you found it helpful.  We also would like to express a special thanks to Andrew W. from Engineering and Amit from Consulting for their great help and feedback.

 

Fedi SAIDANE and Gabriel NGUYEN

Senior Technical Relationship Managers

EMEA Technical Field Services

***************************************

More related information:

Amit’s Citrix Blog article series : /blogs/2013/08/27/get-up-to-speed-on-xendesktop-bandwidth-requirements

Citrix Virtual Desktop Handbook 7.x : http://support.citrix.com/article/CTX139331

Legacy graphics mode related links :