Product Documentation

Optimizing User Sessions for XenApp

Oct 09, 2015

XenApp includes various HDX features that allow you to enhance user experience by maintaining session activity and improving session responsiveness.

Network latency and bandwidth availability can impact the performance of connections to published applications and content. These HDX technologies allow you to improve connection speed and responsiveness during user sessions.

Optimizing Audio and Video Playback

HDX MediaStream Multimedia Acceleration improves the user’s experience of accessing published audio-visual applications and content. Enabling this feature increases the quality of audio and video rendered from the server to a level that compares with audio and video played locally on a client device. In addition, it reduces use of network bandwidth and server processing and memory because compressed multimedia files are intercepted and forwarded to the client to be uncompressed. This feature optimizes multimedia playback through published instances of Internet Explorer, Windows Media Player, and RealOne Player. It offers significant performance gains in these areas:
  • User Experience. Multimedia playback in sessions is much smoother.
  • Server CPU Utilization. The client device decompresses and renders multimedia content, freeing server CPU utilization.
  • Network Bandwidth. Multimedia content is passed over the network in compressed form, reducing bandwidth consumption.
Note: With HDX MediaStream Multimedia Acceleration enabled, RealOne Player’s built-in volume and balance controls do not work within client sessions. Instead, users can adjust volume and balance from the volume controls available from the device notification area.

Without HDX MediaStream Multimedia Acceleration, the cumulative cost of several users playing multimedia content in sessions simultaneously is high, both in terms of server CPU utilization and network bandwidth consumption. When you play multimedia content in a session, the server decompresses and renders the multimedia file, which increases the server’s CPU utilization. The server sends the file over the network in uncompressed form, which consumes more bandwidth than the same file requires in compressed form.

With HDX MediaStream Multimedia Acceleration, the server streams multimedia to the client in the original, compressed form. This reduces bandwidth consumption and leaves the media for the client device to decompress and render, thereby reducing server CPU utilization.

HDX MediaStream Multimedia Acceleration optimizes multimedia files that are encoded with codecs (compression algorithms) that adhere to Microsoft’s DirectShow, DirectX Media Objects (DMO), and Media Foundation standards. DirectShow and Media Foundation are application programming interfaces (APIs) that allow, among other things, multimedia playback. To play back a given multimedia file, a codec compatible with the encoding format of the multimedia file must be present on the client device.

Generally, if you can play back a given multimedia file locally on a given client device, you can play back the same file on the same client device within a session. Users can download a wide range of codecs, such as those supported by Windows Media Player or RealOne Player, from vendor Web sites.

Users accessing audio-visual applications on servers on which HDX MediaStream Multimedia Acceleration is enabled use a little more memory but far less bandwidth than when this feature is disabled. Users use only a little more memory or bandwidth when accessing audio-visual applications compared to regular enterprise applications.

To allow users to run multimedia applications in ICA sessions, turn on audio or give the users permission to turn on audio themselves in Citrix online plug-in. By default, all other plug-ins and methods are configured with audio enabled and optimized for speech sound quality.

Other requirements for using HDX MediaStream Multimedia Acceleration are:

  • Users must be running a Citrix online plug-in.
  • The user device must have the same memory and processing speed as is needed for playing multimedia locally.
  • The correct codec to decompress the media file type used (MPEG for example) must reside on the user device. Windows devices have the most common codecs already installed. If you need additional codecs, you can download them from the Web sites of the manufacturers of media players.
Note: To make Windows Media Player 11 and Media Foundation components available on your XenApp server, install and configure the Microsoft Windows Server 2008 Desktop Experience in the Server Manager.

Applications and media formats supported by HDX MediaStream Multimedia Acceleration are:

  • Applications based on Microsoft’s DirectShow, DirectX Media Objects (DMO), and Media Foundation filter technologies such as Windows Media Player, RealPlayer.
  • Applications like Internet Explorer and Microsoft Encarta are also supported, as they leverage Windows Media Player.
  • Both file-based and streaming (URL-based) media formats: WAV, all variations of MPEG, unprotected Windows Media Video (WMV), and Windows Media Audio (WMA).
Note: HDX MediaStream Multimedia Acceleration does not support media files protected with Digital Rights Management (DRM).

When the quality of media playing on a user device deteriorates, possible solutions are:

  • If video appears in slowly changing slides while audio is intact or audio becomes choppy, this is caused by low bandwidth. Arrange for users to play media on the network where more bandwidth is available.
  • If audio and video are not synchronized, generally only the video or audio is played using HDX MediaStream Multimedia Acceleration. This can happen if a client device lacks a codec for either video or audio. Install the needed codec on the client or use media content on the server for which clients have both codecs.

By default, HDX MediaStream Multimedia Acceleration is enabled at the server farm level.

Configuring HDX MediaStream Multimedia Acceleration

Configure HDX MediaStream Multimedia Acceleration in a Citrix policy.

Note: By default, audio is disabled on the client. To allow users to run multimedia applications in sessions, turn on audio or give the users permission to turn on audio themselves on their user devices.
  1. Configure the following Citrix Computer policy setting:
    • HDX MediaStream Multimedia Acceleration. Enables or disables the feature.
    • HDX MediaStream Multimedia Acceleration default buffer size. Specifies the buffer size in seconds, in the range 1-10; requires enabling the HDX MediaStream Multimedia Acceleration default buffer size use option. You can see how much server memory the selected buffer can use by changing the buffer time.
    • HDX MediaStream Multimedia Acceleration default buffer size use. Enables or disables use of a buffer. When this option is enabled, specify the buffer size with the HDX MediaStream Multimedia Acceleration default buffer size option

Optimizing Flash Content

HDX MediaStream server-side Flash functionality allows you to optimize the way XenApp renders and delivers Adobe Flash content to users. To display Flash content in sessions, you must have the Flash plug-in and the corresponding ActiveX control installed in the Web browser before you publish it.

Users playing Flash content in published applications might observe poor rendering quality of the animation, slow session responsiveness, or a combination of both. This occurs when Adobe Flash Player, which renders the content on the server, starts in high-quality mode by default. While this guarantees the highest possible rendering mode for each frame, it also means that each frame consumes considerable bandwidth on its way to the user.

HDX MediaStream server-side Flash functionality improves the user’s session responsiveness by forcing the Flash Player to use simpler graphics (for example, no smoothing or anti-aliasing). This feature also reduces the amount of processing power that is required to render Flash content.

By default, HDX MediaStream server-side Flash functionality is enabled at the server farm level. However, if HDX MediaStream client-side Flash functionality is enabled, server-side rendering is overridden.

  1. Configure the Flash quality adjustment Citrix User policy setting with one of the following options:
    • Optimize Adobe Flash animation options for all connections. Select this option to always reduce the amount of Flash data sent to users. The result is minimized CPU usage on the servers on which users are using Flash within Internet Explorer.
    • Optimize Adobe Flash animation options for low bandwidth connections only. Select this option to improve responsiveness when Flash content is sent to users on restricted bandwidth connections (under 150Kbps). On restricted bandwidth connections, such as over a WAN, less data is downloaded and the quality of Flash content is lower. When bandwidth is not limited, for example on a LAN, users get higher quality Flash animation.
    • Do not optimize Adobe Flash animation options. Select this option if bandwidth is not limited.
  2. To reduce bandwidth consumption and improve video playback and server scalability, configure the Citrix Computer policy setting for Queueing and tossing. Configuring this setting can cause animations to become choppy due to dropped frames.

Optimizing Throughput of Image Files

The size of image files affects the amount of time the files take to travel from server to client. Often, image files contain redundant or extraneous data that is of little benefit to the user and slows down the user’s session while downloading and rendering. Using lossy image compression, SpeedScreen Image Acceleration lets you find a balance between the quality of photographic image files as they appear on client devices and the amount of bandwidth the files consume on their way from server to client.

SpeedScreen Image Acceleration applies a lossy compression scheme to reduce the size of image files that the server sends to the client for faster throughput. The compression scheme removes redundant or extraneous data from the files while attempting to minimize the loss of information. Under most circumstances, the data loss is minimal and its effect nominal. However, Citrix recommends that you use discretion in applying this feature where preservation of image data may be vital, as in the case, for example, of X-ray images.

This feature is enabled by default. Use policy settings to override the default settings and accommodate different user needs by applying different levels of image compression to different connections.
  1. Configure the Lossy compression level Citrix User policy setting with one of the following options:
    Level Image quality Bandwidth requirements
    High Low Lowest
    Medium (default) Good Lower
    Low High Higher
    None Same as original Highest

Choose none or low compression for users who need to view images at original or near original quality levels. If this policy setting is not configured, medium compression is used for all connections, which amounts to slightly better performance due to slightly lower image quality.

To configure Image Acceleration without enabling Progressive Display, after configuring the policy setting for the lossy compression level, configure the Progressive compression level Citrix User policy setting with the None option.

Optimizing Display of Image Files

You can enable Progressive Display to increase the performance of displaying images or parts of images that are changing.

Progressive Display speeds the initial display of an image file by choosing an increased compression level while an image is dynamic. This initial display is then sharpened up to normal quality in the background if the image is not immediately changed or overwritten in the application. The quality of the final image is controlled by Image Acceleration.

Progressive Display can improve the performance not only of applications that render and display images, but also those parts of an image that are dynamic, such as when scrolling through a PDF or similar document.

Configure the Progressive compression level Citrix User policy setting with the desired level (Low, Medium, High, Very high, or Ultra high), and configure the Lossy compression level Citrix User policy setting to None.

Optimizing Keyboard and Mouse Responsiveness

SpeedScreen Latency Reduction is a collective term used to describe features such as Local Text Echo and Mouse Click Feedback that help enhance user experience on a slow network.
Mouse Click Feedback
On high latency connections, users often click the mouse multiple times because there is no visual feedback that a mouse click resulted in an action. Mouse Click Feedback, which is enabled by default, changes the appearance of the pointer from idle to busy after the user clicks a link, indicating that the system is processing the user’s request. When the user clicks the mouse, the ICA software immediately changes the mouse pointer to an hourglass to show that the user’s input is being processed. You can enable and disable Mouse Click Feedback at the server level.
Local Text Echo

On high latency connections, users often experience significant delays between when they enter text at the keyboard and when it is echoed or displayed on the screen. When a user types text, the keystrokes are sent to the server, which renders the fonts and returns the updated screen to the client. You can bridge the delay between keystroke and screen redraw by enabling Local Text Echo. Local Text Echo temporarily uses client fonts to immediately display text a user types while the screen redraw from the server is in transit.

By default, Local Text Echo is disabled. You can enable and disable this feature both at the server and application level. You can also configure Local Text Echo settings for individual input fields within an application.
Note: Applications that use non-standard Windows APIs for displaying text may not support Local Text Echo.

Configuring SpeedScreen Latency Reduction

SpeedScreen Latency Reduction Manager, a tool provided with XenApp, allows you to configure SpeedScreen Latency Reduction settings for a XenApp server, for single or multiple instances of an application, as well as for individual input fields within an application. You can also use it as a troubleshooting tool to fine-tune SpeedScreen Latency Reduction behavior for applications, or input fields within an application, that exhibit incompatibility with this SpeedScreen feature.

SpeedScreen Latency Reduction Manager must be installed on a XenApp server, and can be used to customize SpeedScreen Latency Reduction settings only on that server.

To launch SpeedScreen Latency Reduction Manager, select SpeedScreen Latency Reduction Manager from the Citrix > Administration Tools program group in the Start menu.

Note: To run the Speedscreen Latency Reduction Manager with the User Account Control (UAC) enabled, you must be a domain administrator, delegated administrator, or part of the Administrators group on the local computer, or you will be prompted for administrator credentials.

Through SpeedScreen Latency Reduction Manager, you can configure common SpeedScreen Latency Reduction settings for all applications on a server or select custom settings for individual applications. Before you can configure any settings, you must add the application.

Adjusting SpeedScreen Latency Reduction for an Application

If a published application exhibits abnormal behavior after it is configured to use SpeedScreen Latency Reduction, you can use the Add New Application wizard included with SpeedScreen Latency Reduction Manager to adjust latency reduction functionality for the selected application, or all instances of the selected application on the server. To optimize usability of the application, use this wizard to adjust, turn on, or turn off SpeedScreen Latency Reduction for the application.

Note: The application must be running before you can use this wizard to modify existing settings.

To adjust SpeedScreen Latency Reduction for an application

If a published application exhibits abnormal behavior after it is configured to use SpeedScreen Latency Reduction, you can use the Add New Application wizard included with SpeedScreen Latency Reduction Manager to adjust latency reduction functionality for the selected application, or all instances of the selected application on the server. To optimize usability of the application, use this wizard to adjust, turn on, or turn off SpeedScreen Latency Reduction for the application.

Note: The application must be running before you can use this wizard to modify existing settings.

Before you can adjust Speedscreen Latency Reduction for an application, you must add the application to the Speedscreen Latency Reduction Manager.

  1. From the Start menu, select All Programs > Citrix > Administration Tools > SpeedScreen Latency Reduction Manager.
  2. From the Applications menu of SpeedScreen Latency Reduction Manager, select New to start the wizard and follow the prompts.
  3. Use the Define the Application screen to select an application instance on the server. To specify the application, use one of these methods:
    • Click the icon at the bottom of the page and drag the pointer onto the window of an application. The application must be running when you select it.
    • Click the Browse button and navigate to the application.
  4. Specify whether Local Text Echo is enabled or disabled on the application by selecting or clearing the Enable local text echo for this application check box. For a definition of Local Text Echo, see "Optimizing Keyboard and Mouse Responsiveness".
  5. Specify whether the setting you selected in the previous step should be applied to all instances of the application on the server or just the instance selected.

Test all aspects of an application with Local Text Echo in a non-production environment before enabling it to ensure that the display is acceptable to users.

When you configure SpeedScreen Latency Reduction Manager on a particular server, the settings are saved in the ss3config folder in the Citrix installation directory of that server. You can propagate the settings to other servers by copying this folder and its contents to the same location on the other servers.
Note: If you plan to propagate SpeedScreen Latency Reduction Manager settings to other servers, select Apply settings to all installations of the selected application when configuring Local Text Echo through the wizard. Paths to published applications might differ from one server to another; therefore, applying the settings to all instances of the selected application ensures that the settings apply regardless of where the application is located on the destination server.

To configure latency reduction settings for all applications on a server

  1. From the Start menu, select All Programs > Citrix > Administration Tools > SpeedScreen Latency Reduction Manager.
  2. From the Application menu, select Server Properties. The Server Properties dialog box containing existing settings for the selected server appears.
  3. Configure the SpeedScreen Latency Reduction settings that you want to be applied to all of the applications on the server. All users connecting to the server benefit from the SpeedScreen options you set here. Changes made to SpeedScreen Latency Reduction settings at an application level override any server-wide settings.
    • Enable local text echo as default for all applications on this server. Select this check box to enable Local Text Echo for all applications on the server.
    • Enable mouse click feedback as default for all applications on this server. Select this check box to enable Mouse Click Feedback for all applications on the server.
    • Latency threshold times for SpeedScreen (in milliseconds). Latency threshold times are used when the client device setting for SpeedScreen is set to Auto.
      • High latency threshold. Specify a threshold value above which SpeedScreen options should be enabled.
      • Low latency threshold. Specify a threshold value below which SpeedScreen options should be disabled.
    For a definition of Local Text Echo and Mouse Click Feedback, see Optimizing Keyboard and Mouse Responsiveness.

To configure custom latency reduction settings for an individual application

  1. From the Start menu, select All Programs > Citrix > Administration Tools > SpeedScreen Latency Reduction Manager.
  2. In the SpeedScreen Latency Reduction Manager, select the application.
  3. From the Application menu, select Properties. The Application Properties tab containing existing SpeedScreen Latency Reduction settings for the selected application appears. It contains this information:
    • Application Name. The application executable name appears here; for example, Excel.exe.
    • Path to Application. The path to the application executable appears here; for example, C:\Microsoft Office\Excel.exe.
  4. If desired, configure application settings:
    • Disable local text echo for this application. The current setting for Local Text Echo is displayed. Select the check box to disable Local Text Echo for this application. Clear the check box to enable it.
    • Limit local text echo for this application. The current Local Text Echo setting for the application appears. Select the check box to limit Local Text Echo functionality for this application, and select the type of text display you need from the drop-down list.
    • Forces Speedscreen to treat all input fields in the selected application in native mode. Select the check box if you configure a setting that forces SpeedScreen to treat all input fields in the selected application in native mode.

To configure latency reduction settings for input fields in an application

Input fields in an application are fields where text can be added. You can use SpeedScreen Latency Reduction Manager to set latency reduction behavior for selected input fields in a configured application to reduce delays between when users enter text at the keyboard and when it is echoed or displayed on the screen.

  1. From the Start menu, select All Programs > Citrix > Administration Tools > SpeedScreen Latency Reduction Manager.
  2. Select an application.
  3. From the Applications menu, select Properties. The Application Settings window appears.
  4. Select the Input Field Configuration tab, then configure these settings as needed.
    • The Configured Input Field List displays the list of configured input fields. SpeedScreen Latency Reduction uses a window hierarchy to identify the input fields that need special settings. The entries shown in the tree view are the window class names of the configured fields. For example, _WwG is the window class name of the main document window in Microsoft Word.
      • Click New to run the Advanced Input Field Compatibility wizard to add a new input field. This wizard guides you through the process of configuring SpeedScreen Latency Reduction settings for an input field.
      • Click Delete to delete the selected input field from the Configured Input Field List.
    • Enable local text echo for this input field enables Local Text Echo. If this check box is selected, you can apply more Local Text Echo settings to the selected field.
    • Limit local text echo forces behavior in input fields in nonstandard applications that may not behave correctly. Select one of the two available settings:
      • Display text in place ensures text is echoed in place.
      • Display text in a floating bubble ensures text is echoed within a floating bubble.
    • Reduce font size forces input fields in non-standard applications to display text at a reduced font size. Use this setting when input fields in non-standard applications display misaligned text, oversized fonts, or other undesirable font behavior. Choose the percentage by which to reduce the font size. Percentage values available are 10%, 20%, and 30%.
    • Use system default colors forces non-standard input fields to use system default colors. SpeedScreen Latency Reduction tries to auto-detect the text and background colors used in input fields; however, non-standard input fields sometimes report incorrect or inadequate information. As a result, text echo in input fields on nonstandard applications can appear corrupted. This setting turns off auto-detection and controls how system default colors are applied to input fields.
      • Choose Both the text and background to apply system default colors to both text and background.
      • Choose The background only to apply system default colors only to the background.
    • Input field is a password controls how hidden characters are displayed in non-standard input fields. Typically, hidden characters are located in password entry fields. Text echo in non-standard input fields might make these hidden characters appear as normal text, compromising security. This setting forces hidden characters to display as asterisks or spaces.
      • Choose Hidden characters denoted by “*” if you want Local Text Echo for such input fields to be replaced by asterisks.
      • Choose Hidden characters denoted by spaces if you want Local Text Echo for password input fields to be replaced by spaces.

To create exception entries for non-standard input fields in an application

Some input fields do not conform to standard Windows behavior and thus do not work correctly with SpeedScreen Latency Reduction. You can create exception entries for such fields, while still providing minimal latency reduction functionality for the rest of the application. The Input Field Compatibility wizard included with SpeedScreen Latency Reduction Manager guides you through the process of selecting non-standard input fields and creating exception entries for them.

Note: The application must be running before you can configure an input field within it.
  1. Start the application.
  2. Select Start > All Programs > Citrix > Administration Tools > SpeedScreen Latency Reduction Manager.
  3. From the Applications menu in SpeedScreen Latency Reduction Manager, select Properties. The Application Settings window appears.
  4. Select the Input Field Configuration tab. Click New to start the wizard and follow the prompts.
  5. With the application running, select the input field you want to configure and complete these steps:
    1. Drag the pointer onto the input field window for which SpeedScreen behavior needs to be customized.
    2. If the SpeedScreen Latency Reduction Manager window is obscuring the target input field, check the Hide SpeedScreen Latency Reduction Manager check box. This causes the SpeedScreen Latency Reduction Manager window to be hidden from view.
  6. To define the level of compatibility for the input field, select the level of SpeedScreen Latency Reduction compatibility to apply to the selected input field. Use the slider bar to select the desired compatibility level. The default compatibility level is Auto, which provides full SpeedScreen Latency Reduction functionality. However, because the field being configured is not displaying the desired behavior, downgrade the latency reduction functionality level to Medium, Low, or Off.
    • Medium Compatibility. Use this level of compatibility for input fields that are incompatible with the default Auto setting. Text echo appears in place with limited acceleration.
    • Low Compatibility. If an input field is incompatible with both the Auto and Medium compatibility settings, select Low. Text echo appears in a floating text bubble rather than within the input field.
    • Off, or Zero Compatibility. If an input field is incompatible with Auto, Medium, and Low compatibility settings, disable Local Text Echo for that field by selecting Off.

Configuring HDX Broadcast Display Settings

To configure HDX Broadcast display settings

  1. To improve the response when graphics are sent to the client, configure the Citrix Computer policy Queueing and tossing setting. Queued images that are replaced by another image are discarded. This is useful when bandwidth is limited. A drawback to selecting this option is that it can cause animations to become choppy because intermediate frames get dropped.
  2. To make scrolling smoother because sections of an image can be retrieved from the cache, configure the Citrix Computer policy Image caching setting.
  3. Enter the maximum memory to be used on the server for each client connection with the Citrix Computer policy Display memory limit setting.

    You can specify an amount in kilobytes from 300 to 65536. Using more color depth and higher resolution for connections requires more memory. You can calculate the maximum memory required by using this equation:

    (color depth in bits per pixel / 8) * vertical resolution in pixels * horizontal resolution in pixels = memory required in bytes

    For example, if the color depth is 24, the vertical resolution is 600, and the horizontal resolution is 800, the maximum memory required is:

    (24bpp / 8) * 600 pixels * 800 pixels = 1440000 bytes of memory required

    You can specify 1440KB in maximum memory to handle connections with these settings.

  4. For the Citrix Computer policy Display mode degrade preference setting, configure one of the following options:
    • Degrade color depth first. Select this option if you want color depth to be reduced before resolution is lowered when the session memory limit is reached.
    • Degrade resolution first. Select this option if you want resolution to be lowered before color depth when the session memory limit is reached.
  5. To display a brief explanation to the user when a session is degraded, configure the Citrix Computer policy Notify user when display mode is degraded setting. Possible reasons for degradation include exceeding the memory limit and connecting with a client that cannot support the requested parameters.