Jump to content


Photo

TEMPLATE EXCHANGE!!! Studio Templates – Help Needed - Out-of-the-box Configuration for XenDesktop and XenApp

Started by Rachel Berry , 11 November 2014 - 08:33 PM
1 reply to this topic

Rachel Berry Citrix Employees

Rachel Berry
  • 597 posts

Posted 11 November 2014 - 08:33 PM

Studio Templates – Help Needed - Out-of-the-box Configuration for XenDesktop and XenApp

There was a very neat mechanism introduced into Citrix Studio a while ago called Studio templates. Recently I got asked about the “High Definition User Experience” template. I didn’t actually know about it and once I investigated got very interested.

What are templates?

In Citrix Studio next to the “Policies” tab, the next tab is “Templates”. The idea is you can create, save and load templates that set groups of policies. There are a few Citrix pre-installed templates including the “High-Definition User Experience” one for HDX, the template I was asked about.

 

 

So should I use the “High-Definition User Experience” template

 

Probably not. I’m not sure when this particular template was created and with what purpose, it sets a few policies relevant to “Legacy” graphics mode but mostly will give you the default policies. Additionally it will change the fps from 30 (the current default) down to 24 fps (the default back in XenDesktop 5.5). I’m not sure what the goal of this template was and I’m looking to revise it for future releases. However I’m sure the author had specific needs (possibly maintaining XD 5.5 behaviour) and our customers have a really broad range of needs and constraints, for example:

  • 2D users with branch offices on limited bandwidth
  • High-end CAD users on fast LANs whose priorities are performance and user experience
  • A wide range of end points (Linux thin clients, Windows Workstations, Mobile phones)

One Size Doesn’t Fit All for HDX

We have so many policies so that the product can be configured best according to the users’ needs. However this can lead to the risk of misconfiguring a system sub-optimally. Long-term we are looking to automate the optimisation and already there is a fair degree of this under-the-hood however I suspect there will always be a place to allow the system administrator the flexibility to override this to account for their specific needs.

So back to the templates – I want your feedback and help!

I don’t think a single HDX optimal template is possible however I think a selection tailored to certain standard use cases is. I noticed that Jason Southern, one of NVIDIA’s top solution architects has posted his default template for high-end GPU accelerated graphics in a high-speed LAN scenario over on the NVIDIA GRID forums, you can get it here.

This got me thinking, an experienced user in a specialised area like Jason has a lot of real world experience, but so do a vast number of our customers. When I look to rewrite the HDX templates for a future release I want to make sure they have been really scrutinised and account for real user needs rather than the academic perspective of “an ivory tower” product manager!

So……

TEMPLATE EXCHANGE

I’ve started thread on our forum, TEMPLATE EXCHANGE, where I’d like all of you to post:

  • Your favourite templates and groups of policies
  • As much detail on the scenario the template is designed for e.g. LAN/WAN, low bandwidth etc…. basically why you have set that particular group of policies
  • Why you have chosen to set policies to particular numbers e.g. the 24 fps

In return, the HDX engineering and Citrix consultancy and support experts will provide feedback and also be able to learn what users really want. I’m hoping the community and other users will also take part.

It’s easy to import and export templates from the “Action” menu drop-down on the main Studio bar.

 

 

Vote for your most popular template

I’d love people to comment on any templates posted and let me know which are particularly useful using the “like” and comment functionalities. Perhaps we can even turn it into a competition.

NEW Templates available!

To kick-start this survey/project, I asked a few experts to post their favourite templates, and they are open to your scrutiny (can you beat the experts ;-) ) and available for you to download and try. Available TODAY:

 

This is a personal  project asking for feedback and as such Citrix cannot be responsible for the quality of the templates discussed, especially third-party ones, as such users should try these in test environments and not production environments.  Users should use their own discretion when implementing these policies and templates.

Ideally I’d like contributors to outline:

  • General reason for the profile being created, initial environment it was created for etc. 
  • Breakdown of settings in list form i.e. Setting Name- Reason for each value
  • A synopsis of the impact on the session(s)
  • Copy of template to download

 

 



Jason Southern Members

Jason Southern
  • 4 posts

Posted 12 November 2014 - 09:02 AM

The following is a reference policy created as a foundation for further refinement on each implementation.

 

t was originally created to allow for full screen 1080p video playback at a minimum of 30fps across a LAN it was found to be equally beneficial for improving WAN performance.

 

The requirements for the initial implementation were that  video playback had to occur in the VM. Redirection wasn’t an option as we needed precise video scrubbing ability for editing work using Foundry’s Nuke and Adobe Premiere Pro.

 

I built around the assumption that some connections may fall back to legacy mode. if the session is running Legacy Mode there’s possibly an issue with the client, however it could simply be a case of needing to connect temporarily from a less than perfect client and I didn’t want to completely eliminate this from the policy.

 

The settings are below, in the order they appear in the policy engine, along with the thought process / reasoning for each setting:

 

 

Desktop Composition Redirection

 

- Off

 

With vGPU we have access to hardware acceleration in the VM, so there’s little need to redirect aspects of the desktop to the client, and in many cases the client has a less powerful GPU than that now available in the VM. Turning this off also eliminated the need for resynchronizing of the session display on the client side.

 

Display Memory Limit

 

- 131072KB

 

Set to the absolute maximum available, no other reason than that! If I’m honest, I’m not sure if this makes any difference, but it makes me feel good to know I’ve set it to the max instead of leaving it at the default, which is only slightly lower.

 

HDX3DPro Quality Settings

 

-Min 80

 

-Max 100

 

Initial settings chosen to restrict the range of compression applied to the display so that variation is kept to a minimum. Ideally with consistently available bandwidth it would remain unchanged, but where it does change I wanted to minimize the impact on the visuals.

 

 

Lossy Compression Level

 

-Low

 

Fairly self explanatory, but this is so that when lossy compression is applied, it’s done at a low level. The purpose being to wherever possible minimize the impact on the image quality whilst still ensuring a good framerate at the client.

 

Lossy Compression Threshold Value

 

-10240Kbps

 

This is probably the most often adjusted value after implementation. I’ve essentially set it so that Lossy Compression only comes into force when the available bandwidth for the session is below 10Mbps. Depending on the network conditions this can be increased or decreased accordingly. I’ve seen this set as low as 5Mbps and still given good results.

 

It’s also worth noting that Cloud Bridge optimizations for compression can often help here allowing you to reduce the level that Lossy Compression needs to be enabled.

 

 

Minimum Image Quality

 

- Very High

 

(Legacy Mode) – Pretty obvious here that I want the minimum compression levels possible applied

 

 

Moving Image Compression

 

-Disabled

 

(Legacy Mode) – This is set simply to ensure that compression is applied equally across the screen. As the image is moving I don’t want that to become pixelated and blocky whilst the rest of the session stays sharp. It causes too much confusion for the user. (They shouldn’t really be on Legacy Mode anyway, so check their client config!)

 

Queuing and Tossing

 

-Disabled

 

(Legacy Mode) – Here I simply didn’t want frames being dropped arbitrarily. It will make video etc appear to stutter which will cause an immediate rejection by the end users.

 

Target Frame rate

 

-60

 

This is set to the maximum framerate that HDX currently supports. It’s also the maximum frame rate that you can currently achieve in a VM running vGPU, because we (Nvidia) impose a Frame Rate Limiter to manage performance.

 

60fps is the most commonly requested frame rate for 3D applications, and is also the most prevalent screen refresh rate for displays. It also equates to around 15ms.

 

If you’re deploying applications to users that only require 30fps, e.g. video editing & playback, then reduce this value. Reducing this from 60 to 30 could reduce the CPU load from ctxgfx.exe as it only has to encode half the frames.

 

Keeping the framerate as high as possible can also help minimize the perception of cursor lag when applications are using software cursors e.g. AutoCAD or Photoshop.

 

 

Use GPU for Optimising Windows Media Multimedia Redirection over WAN

 

-Allowed

 

Hey, you’ve got a GPU in the VM, why not take advantage where you can!

 

Visual Quality

 

-Very High

 

I’ve purposely avoided the Lossless and Build to Lossless options to force the session to always use the same compression method. I’ve found that in the majority of cases users are very happy with this level of image quality.

 

You can always allow the users to manage the switch to lossless where required e.g. use cases such as Medical and some VFX / Editing roles would require this.

 

This setting can have a substantial impact on the client side frame rate and to demonstrate the effect I put together a simple video to show the result of different settings on both LAN and WAN connections.

 

 

 

 

Results:

 

This policy has allowed consistent delivery of 1080p video sessions, running full screen at the native refresh rate of the video. Although initially created for use in Video Editing and Broadcast solutions It’s equally successful for engineering and scientific applications as well as allowing something as simple as the delivery of YouTube video to thin clients not capable of supporting multimedia redirection.

 

Having implemented this as a starting point in a number of deployments and shared this widely it’s helped a lot of organizations refine their HDX sessions to their own environments. Some of the changes can have dramatic effects and not just on the user experience, but also on the load within the session.  So test, test and test again then deploy!

 

My approach to using this is to take the policy as a start point and test each of the settings for the particular use case. Eliminate anything that doesn’t give you any benefit and then revisit it when the environment changes.

 

Link for download - https://db.tt/6l6xubZU