Omnissa Blast Extreme Optimization Guide

Omnissa Horizon 8
Omnissa Horizon Cloud Service

Introduction

Blast Extreme is a next-generation display protocol, developed by Omnissa. Although Blast Extreme is designed to provide an excellent, out-of-the-box configuration for most use cases, some network conditions and applications require additional tuning. This guide provides detailed information on how to configure and optimize Blast Extreme for these situations.

This guide is intended for IT administrators and implementors who want to provide end users with the best possible remote display experience. You should have:

  • A solid understanding of desktop and application virtualization
  • Familiarity with Omnissa Horizon®
  • A good working knowledge of networking and infrastructure, covering topics such as Active Directory, Group Policy, and supporting technologies

Blast Extreme Technology

To optimize Blast Extreme, it is important to understand two key configurable components: the transport protocol and display protocol codec.

Transport Protocol

Blast Extreme supports two transport protocols to carry the display traffic between clients and the Horizon infrastructure: TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).

  • TCP, the most common transport protocol on the Internet, has built-in data integrity checking and control to ensure that packets arrive at their intended destination without errors. Although this strategy makes for reliable delivery, the process adds overhead.
  • UDP does not employ such controls and is therefore well suited for applications like streaming video and online gaming, which need to efficiently send large amounts of data to the client but can tolerate occasional errors. Streaming video, for example, may freeze for a moment or pixelate briefly, but otherwise continue playing. Display protocols have similar performance characteristics.

Because of its efficiency and excellent performance, UDP, which is the default transport protocol Blast Extreme uses, should not be changed, with two exceptions. For the following conditions, Omnissa recommends that you use TCP rather than UDP:

  • When traffic must pass through a UDP-hostile network service or device such as a TCP-based SSL VPN, which re-packages UDP in TCP packets
  • If WAN circuits are experiencing very high latency (250 milliseconds and greater)

For all other network conditions, Omnissa recommends that you use UDP for the best user experience. And if Blast Extreme encounters problems making its initial connection over UDP, it will automatically switch and use TCP for the session instead.

Display Protocol Codecs

The second key configurable component is the codec used to encode and decode the screen content transferred by Blast Extreme. Blast Extreme now supports four codecs: JPG/PNG, H.264, High Efficiency Video Coding (HEVC), and the new Blast Codec.

JPG/PNG

As its name implies, the JPG/PNG codec leverages two image formats, JPG and PNG, to encode and decode display content. These formats employ compression to reduce the size of the content before it is transferred across the network.

  • JPG is a lossy compression format. This means that some of the original image data is discarded (lost) as part of the compression process. While the JPG algorithm attempts to remove only redundant data, in practice other data is lost as well. Therefore, images compressed using JPG cannot be decoded and restored to the same quality they had before compression.
  • PNG is a lossless format. This means that display content encoded and compressed using PNG alone can be restored to match the quality of the original content.

Used together, the JPG/PNG codec is ideally suited for typical Windows and Linux applications, including Microsoft Office. It is especially good at reproducing intricate fonts and other screen content with fine details, including still images and low-motion 3D modeling used by design and engineering applications.

JPG/PNG can also be configured to use build-to-lossless mode. In this mode, the codec is able to support applications that require the display protocol to be lossless, ensuring nothing is lost in transmission. However, it is important to note that building-to-lossless increases session bandwidth utilization because more display information is sent across the network. Information on how to enable build-to-lossless mode is covered in the next chapter, How to Configure Blast Extreme.

Blast Codec

The latest innovation for Blast Extreme is the Blast Codec. The future successor to JPG/PNG, the Blast Codec provides a high-quality user experience while using significantly less CPU and network bandwidth required by other codecs. It is designed to support the majority of customer use cases, including not just typical Windows and Linux apps like Microsoft Office, but also SaaS applications, line-of-business apps like Point of Sale, plus any that require low-motion, high-quality graphics support such as CATIA, Photoshop, and AutoCAD.

  • First introduced in Horizon 7.10, the Blast Codec is rapidly evolving but does not yet support all the optimizations and configuration options available to the other codecs.
  • The Blast Codec should be evaluated for use whenever network bandwidth or display protocol CPU utilization is a primary concern. If testing reveals the Blast Codec is not yet able to fully support an application or use case, simply switch to one of the other three codecs for now. The Blast Codec will continue to evolve.

    Important: Many of the optimizations available to the other codecs have not yet been developed for the Blast Codec, including the ability to set custom image qualities.

Information on how to enable the new Blast Codec is covered in the next chapter, How to Configure Blast Extreme.

H.264

Although JPG/PNG and the Blast Codec are ideal for ensuring still image quality, this capability hinders their ability to efficiently support rapidly moving screen content and motion graphics such as streaming video, video editing, and gaming. Fortunately, Blast Extreme supports the H.264 codec for precisely this type of content. H.264, the most commonly used codec in the world, was designed specifically to support entertainment content and is known for its use in encoding Blu-ray movies. Because H.264 also provides good support for most Windows, Linux, and macOS applications, it is also the default Blast Extreme codec option.

However, compared to other codecs, H.264 requires more processing power to perform its encoding and decoding operations. Fortunately, this processing can be offloaded from the CPU to graphics cards (GPU) in the device.

  • On the client, this means near universal H.264 GPU decode support, because nearly all devices with graphics cards manufactured since 2013 have hardware H.264 decode support, including cell phones and most thin clients.
  • On the server side, H.264 encoding can be offloaded to NVIDIA Tesla GPUs, freeing the costly CPUs in hypervisor hosts to support other tasks, which ultimately increases scalability.

HEVC (High Efficiency Video Coding, H.265)

The fourth Blast Extreme codec option is HEVC. High Efficiency Video Coding, or HEVC for short, is also known as H.265 and is the industry successor to H.264. HEVC provides up to 50 percent better compression with the same quality as H.264. Although this results in a similar reduction in the network bandwidth required, it uses substantially more CPU processing power to encode and decode.

HEVC can also support higher quality at similar compression ratios as H.264, but again at the cost of more processing power with no bandwidth savings. For this reason, HEVC in Blast Extreme requires that the hypervisor hosts supporting the virtual desktops and RDSH servers have NVIDIA Tesla or newer GPUs to offload its encoding. HEVC will not work with ESXi CPU encoding alone. HEVC also requires clients to have physical GPUs with H.265 decode support, but fortunately, as with H.264, most client devices manufactured since 2015 have them.

Codec Options

In addition to the four codecs, Blast Extreme supports several codec options that can be used to help support different use cases and network conditions.

H.264 with High Color Accuracy

If users are experiencing poor text or image clarity in certain applications with H.264 alone, Blast Extreme can be configured to use High Color Accuracy (HCA). HCA turns off 4:2:0 chroma subsampling, providing a 4:4:4 sample rate instead. This means the encoder preserves all of the information related to color instead of sacrificing some to increase codec efficiency.

By default, H.264 in Blast Extreme uses a 4:2:0 sample rate, with the 2:0 indicating that only a quarter of the information about image color is included, compared to HCA’s 4:4:4. The 4:2:0 sample rate can result in color “washout” as well as text or image fuzziness when using some applications (for example, CAD) or some color combinations. If users experience any of these issues, HCA can be enabled to improve quality while preserving H.264’s multimedia efficiency.

Note: This additional color information with HCA increases session bandwidth utilization by 5 percent on average. H.264’s 4:4:4 GPU decoding is also not supported by many GPUs. This means the client resorts to CPU decoding, which can result in degraded performance on weak client hardware, particularly when using high-resolution monitors.

Offloading H.264 and H.264 with High Color Accuracy to an NVIDIA GPU

Like HEVC, the encoding for H.264 and H.264 with HCA can be offloaded to NVIDIA GPUs installed in the ESXi hosts. This not only provides a genuine hardware GPU to accelerate system and application graphics, it also frees the virtual CPUs for other tasks, helping to improve user experience and system scalability.

Offloading the display protocol encoding is enabled by default but can also be turned off if the GPUs must be dedicated to supporting other tasks. Instructions for configuring all of the Blast Extreme codec options are provided in the next chapter, How to Configure Blast Extreme.

HEVC with High Dynamic Range (HDR) Encoding

Introduced in Horizon 8 (2106) is support for High Dynamic Range (HDR) encoding to provide higher graphical quality with vastly improved color range and contrast. This configuration is ideal for digital photography, design and video production.

Note that HDR is an optional capability of HEVC (High Efficiency Video Coding, H.265) and requires an NVIDIA hardware GPU. HDR also requires Horizon 8 (210) or later with Horizon Agent build 2106-8.3.0-18287218 or later and Horizon Client build 2106-8.3.0-18287501 or later. It is not supported in Horizon 7.

Ideal Applications for Each Codec

The following table provides guidance on which codecs to use for various types of applications. It also tells whether a GPU is required on the client or server.

Table 1: Best Codecs to Use for Various Applications 

Codec

Ideal Applications

Supports
Encoding Offload to GPU?

NVIDIA GPU Required?

JPG/PNG

Typical productivity applications such as Microsoft Office, plus those requiring support for fine details and higher still image quality.

No

No

Blast Codec

Typical productivity applications such as Microsoft Office, plus those requiring support for fine details and higher still image quality.

Note: Requires Horizon Agent 7.10 and Omnissa Horizon® Client 5.2 or later. Horizon Client 5.2 requires a special client setting. Clients 5.3 and later do not.

No

No

PNG (Build-to-Lossless)

Applications requiring lossless reproduction of original screen content such as non-diagnostic medical imaging.

No

No

H.264

Multimedia applications such as streaming video, video games, and productivity applications with rapidly changing content.

Yes

No

H.264 with High Color Accuracy (HCA)

H.264 applications that require higher color quality or that exhibit lack of clarity with H.264 alone.

Yes

No

High Efficiency
Video Coding (HEVC)

Applications that require the same quality as H.264 with less bandwidth utilization or that require higher quality with similar bandwidth utilization as H.264.

Yes

Yes

HEVC with High Dynamic Range (HDR) Encoding

Applications that require higher graphical quality with improved color range and contrast, such as digital photography.

Yes

Yes

NVIDIA Encoded H.264 (H.264 Offloaded to GPU)

Same applications that are ideal for H.264 while offloading the encoding from the ESXi host CPUs to an NVIDIA GPU.

Yes

Yes

NVIDIA H.264 with HCA

Same applications that are ideal for H.264 with HCA while offloading the encoding from the ESXi host CPUs to an NVIDIA GPU.

Yes

Yes

How to Configure Blast Extreme

To use Blast Extreme, the virtual or physical desktop pool or RDSH server farm must first be configured to use the protocol as the default, or be configured to allow users to choose it. For information about configuring this setting, see the guides Setting Up Virtual Desktops in Horizon, Setting Up Published Desktops and Applications in Horizon, and Administering Cloud Pod Architecture in Horizon, available from the Horizon 8 Documentation site.

Client Settings

If users are permitted by the pool configuration to select a display protocol, Blast Extreme must be selected for each connection’s properties using the Horizon Client.

What is Blast? Sometimes called the Horizon Client udp, or horizon blast, or even vdi blast, vm blast, or blast udp, it is the best remote display protocol.

Figure 1: Choosing Blast Extreme in the Horizon Client Options

Enabling Codecs and Codec Options

Some of the codecs and codec options can be enabled using the Horizon Client, as shown in the following screenshot.

A certain blast network port number or horizon blast ports are used with this display protocol.

Figure 2: Codec Options Available in the Horizon Client

Other codec options can only be enabled by administrators and also require a corresponding Horizon Client setting. The following table details the requirements for each codec. More information about the admin settings is provided in the next section of this chapter.

Table 2: Client and Admin Settings for Blast Extreme Options

Codec

Client Setting Required?

Admin Setting Required?

JPG/PNG

Yes: Deselect all codecs and codec options (uncheck: H.264, Allow High Color Accuracy, and Allow High Efficiency Video Coding).

No

Blast Codec

Yes: Deselect all codecs and codec options (uncheck: H.264, Allow High Color Accuracy, and Allow High Efficiency Video Coding).

Horizon Client version 5.2 only also requires a special configuration file on the client (see the note following this table).

Yes: EncoderBlastCodecEnable = 1

PNG (Build-to- Lossless)

Yes: Deselect all codecs and codec options (uncheck: H.264, Allow High Color Accuracy, and Allow High Efficiency Video Coding)

Yes:
EncoderBuildToPNG = 1

H.264

Yes: Select Allow H.264 Decoding. Deselect all other codecs and codec options.

No

H.264 with High Color Accuracy (HCA)

Yes: Select Allow H.264 Decoding, and select Allow High Color Accuracy. Deselect all other codecs and codec options.

No

High Efficiency Video Coding (HEVC)

Yes: Select Allow High Efficiency Video Coding. Deselect all other codecs and codec options.

No

New in Horizon 8 (2106): HEVC with High Dynamic Range (HDR) Encoding.

Yes: Select Allow High Efficiency Video Coding and Allow High Dynamic Range Decoding (HDR). Deselect all other codecs and codec options.

A Windows Registry value also needs to be set to 1 on the Client under HKLM\SOFTWARE\Omnissa\Horizon\Client\AllowClientHDR to enable HDR.

No

NVIDIA Encoded H.264 (H.264 offloaded to GPU)

Yes: Select Allow H.264 Decoding. Deselect all other codecs and codec options.

No

NVIDIA Encoded H.264 (H.264 offloaded to GPU) with HCA

Yes: Select Allow H.264 Decoding and Allow High Color Accuracy. Deselect all other codecs and codec options.

No

Note: To enable the new Blast Codec with Horizon Client 5.2, create a file named: config.ini in %appdata%/Omnissa in each user’s profile on their virtual desktop or shared RDSH server. In this file, add the single line: RemoteDisplay.allowClientBlastCodec = “TRUE”.

Configuration Settings for Administrators

Many of the codec options and Blast Extreme settings can be controlled by administrators. The settings are configured in the Windows Registry of the Windows virtual and physical desktops and Microsoft RDSH servers. There are several ways that these settings can be applied.

One of the easiest methods is to use the Windows Group Policy template provided with each release of Omnissa Horizon. The Blast Extreme template is named: vdm_blast.admx and can be found in the Omnissa-Horizon-Extras-Bundle-xxx.zip file, with xxx indicating the corresponding version of Horizon.

Graphical user interface, text, application

Description automatically generated

Figure 3: Group Policy Settings for Blast Extreme

For more information about the specific Group Policy settings and how to import the ADMX template, see Omnissa Blast Policy Settings in Configuring Remote Desktop Features in Horizon.

While most of the Blast Extreme settings are included in the ADMX template, some are not. Most configuration settings can be made directly in the Windows Registry of each virtual and physical desktop and RDSH server using your preferred tool for making such registry changes. Omnissa recommends using Omnissa Dynamic Environment Manager. Settings made directly in the registry are dynamic and take effect immediately, whereas those requiring a client setting will take effect only after the client disconnects and reconnects to a live session.

Codec settings can also be set in the registry of the templates used to deploy pools of desktops and farms of RDSH servers. This ensures that all systems deployed from these templates are configured properly for Blast Extreme.

The registry location to configure Blast Extreme is:

HKEY_LOCAL_MACHINE\SOFTWARE\ Omnissa\Horizon\Blast\Config

Note: Dynamic Environment Manager also provides optimization templates for Blast Extreme. If this functionality is used, configuration settings are created within each user’s profile in the following registry key:

HKEY_CURRENT_USER\SOFTWARE\ Omnissa\Horizon\Blast\Config

These settings will override all other Blast Extreme settings. Because this Dynamic Environment Manager functionality needs to evolve to match advances in Blast Extreme, the author of this guide recommends not using the Blast policies included with Dynamic Environment Manager until covered in a future guide release. If other optimizations are not working as expected, verify there are no settings in HKEY_CURRENT_USER.

Each setting is a string value (REG_SZ). The following table documents the key codec and transport settings. Most settings make the option available to be used (set to 1) or not (set to 0). In other words, the settings do not directly enable the feature, such as forcing all connections to use H.264. However, this example can be achieved by disabling support for the H.264 codec’s competing options: JPG/PNG and HEVC.

Note: for all settings in the following table, if the key is set to 1 support is enabled; if it is set to 0 support is turned off.

Table 3: Codec and Transport Registry Settings 

Setting

Registry Name and Description

Default

H.264 Codec

EncoderH264Enabled – Enables or turns off support for H.264.

1
(enabled)

H.264 High Color Accuracy

EncoderH264YUV444 – Enables or turns off support for High Color Accuracy for H.264.

1

HEVC (H.265) Codec

EncoderHEVCEnabled – Enables or turns off support for the HEVC codec (H.265).

1

New in Horizon 8 (2106): HEVC with High Dynamic Range (HDR) Encoding

TopologyHDREnabled = 1

1

JPG/PNG Codec

EncoderAdaptiveEnabled – Enables or turns off support for the Omnissa JPG/PNG codec.

1

Build-to- Lossless Mode (PNG)

EncoderBuildToPNG – Enables or turns off build-to-lossless mode for the JPG/PNG codec.

0
(turned off)

Blast Codec

EncoderBlastCodecEnabled – Enables or turns off the Blast Codec.

0

NVIDIA H.264 Offload

EncoderNvidiaH264Enabled – Enables or turns off support for offloading H.264 encoding to NVIDIA GPUs installed in the ESXi hosts.

1

NVIDIA H.265 Offload

EncoderNvidiaHEVCEnabled – Enables or turns off support for offloading HEVC encoding to NVIDIA GPUs installed in the ESXi hosts.

1

UDP Transport

UdpEnabled – Enables or turns off support for the UDP transport protocol.

1

Audio Support

AudioEnabled – Enables or turns off audio support.

1

How to Verify the Configuration

If the end user can be interrupted, or if you are performing configuration testing, the easiest way to see the running session configuration is to use the Horizon Performance Tracker if it is installed. The Horizon Performance Tracker is an option that can be selected during the Horizon Agent installation on the virtual desktop, physical desktop, or RDSH server.

In the following screenshot, the Horizon Performance Tracker is reporting that the Blast session is using UDP and the NVIDIA HEVC codec. Audio is also enabled, but is not currently being used. The display protocol is transferring 6 frames per second, and estimates of network bandwidth and latency are provided.

Graphical user interface, application

Description automatically generated

Figure 4: Horizon Performance Tracker Reports Details of a Blast Extreme Session

Table 4: Names the Performance Tracker Uses for Codec Options

Codec / Code Option

Horizon Performance Tracker Encoder Name

Blast Codec

BlastCodec

JPG/PNG

adaptive

H.264

h264 4:2:0

H.264 with High Color Accuracy

h264 4:4:4

NVIDIA Encoded H.264

NVIDIA NvEnc H264

NVIDIA Encoded H.264 with High Color Accuracy

NVIDIA NvEnc H264

The Horizon Performance Tracker does not currently indicate HCA mode when NVIDIA encoding is used. To verify operation, examine the logs.

High Efficiency Video Coding (HEVC). Requires NVIDIA GPU

NVIDIA NvEnc HEVC

If the Horizon Performance Tracker cannot be used or does not provide the desired details, the most effective way to verify the Blast Extreme configuration is to examine the log files on the virtual desktops, physical desktops, or RDSH servers. The log files are located in:

<SystemDrive>:\ProgramData\Omnissa\Horizon\logs\

To determine whether the session is using UDP or TCP, review the latest entries in the Blast-Worker-SessionId<#>.log file, and look for the entries such as those shown in the following table.

Table 5: Log Entries for Determining the Transport Protocol Used

Codec / Codec Option

Log File Entry

UDP

[VVCSessionManager] BlastSocketDataSockActivatedCb: Data Connection:UDP

TCP

[VVCSessionManager] BlastSocketDataSockActivatedCb: Data Connection:TCP

The running codec and codec options can also be identified by examining the latest entries in the Blast-Worker-SessionId<#>.log file, as detailed in the following table. With the exception of Build-to-Lossless which impacts all screens at all resolutions, each logfile entry denotes the codec used, the number of the screen (monitor) being configured of the total number, and its display resolution.

Table 6: Log Entries for Determining the Codec Used 

Codec / Codec Option

Logfile Entry

Blast Codec

VNCRegionEncoder_Create: region encoder BlastCodec. Screen 0/1 @ Resolution: 3840 x 2160

JPG/PNG
(Adaptive Codec)

VNCRegionEncoder_Create: region encoder adaptive. Screen 0/1 @ Resolution: 3840 x 2160.

Build-to-Lossless

MainApp::OnEncoderConfigChanged: Encoder config changed: EncoderBuildToPNG = 1.

H.264

VNCRegionEncoder_Create: region encoder h264 4:2:0. Screen 0/1 @ Resolution: 1920 x 1080.

H.264 with High Color Accuracy

VNCRegionEncoder_Create: region encoder h264 4:4:4. Screen 0/1 @ Resolution: 3840 x 2160.

NVIDIA Encoded H.264
(Requires NVIDIA GPU)

VNCRegionEncoder_Create: region encoder NVIDIA NvEnc H264. Screen 0/1 @ Resolution: 3840 x 2160

VNCEncodeRegionNvEncGetHandle: region encoder NVIDIA NvEnc H264 using YUV 4:2:0 color space.

NVIDIA H.264 with High Color Accuracy
(Requires NVIDIA GPU)

VNCRegionEncoder_Create: region encoder NVIDIA NvEnc H264. Screen 0/1 @ Resolution: 3840 x 2160

VNCEncodeRegionNvEncGetHandle: region encoder NVIDIA NvEnc H264 using YUV 4:4:4 color space.

High Efficiency Video Coding (HEVC)
(Requires NVIDIA GPU)

VNCRegionEncoder_Create: region encoder NVIDIA NvEnc HEVC. Screen 0/1 @ Resolution: 3840 x 2160

New in Horizon 8 (2106): HEVC with High Dynamic Range (HDR) Encoding

VNCSERVER-WIN32: Enabled HDR on display \\.\DISPLAY9
VNCSERVER-WIN32: Successfully changed the NV display.
VNCSERVER-WIN32: ***Setting topology completed by Nvidia Display***

Optimizing Blast Extreme

One of the goals for Blast Extreme is to provide an excellent out-of-the-box configuration for most local area network (LAN) use cases, negating the need to perform complex tuning or learn hundreds of policy settings. However, some use cases and situations require additional tuning, especially for wide area networks (WANs).

  • Desktop and RDSH server sizing and optimization – Before tuning Blast Extreme, it is critical to properly size and optimize the virtual desktops, physical desktops, Microsoft RDSH servers, and supporting infrastructure. When helping customers troubleshoot poorly performing infrastructures, Omnissa Professional Services routinely finds that the virtual desktops have not been sized properly and are consequently running out of critical resources such as virtual CPUs.
  • ESXi host sizing and resource allocation – We also frequently discover that the underlying ESXi hosts are overutilized and are exhibiting clear indicators of problems impacting user experience such as high CPU Ready times. Therefore, it is imperative to start by verifying that all components are sized properly and have sufficient resources and available capacity. 
  • Multiple monitors and display resolution – Another important aspect to consider is the size of the monitor (or monitors) to be used, and their screen resolutions. Monitors with higher screen resolutions, and use cases with multiple monitors, require more system resources, especially CPU and network bandwidth.
  • The same workload on a 4K display requires up to six times the resources required by 1920 x 1080p, regardless of display protocol and codec used. This is simply due to the larger number of pixels that must be supported at higher resolutions.
  • Operating system optimization – The next component to optimize is the Windows operating system. Windows desktop and server operating systems are not designed for efficient virtualization. By default, they are expected to be installed on dedicated, physical hardware, and not separated from their intended users by networks and display protocols.
  • Fortunately, Omnissa has developed a free tool to optimize Windows desktops and servers. It turns off or tunes the elements that unnecessarily waste system resources when used in shared, virtual environments. The Omnissa Operating System Optimization Tool can be downloaded from Omnissa Customer Connect and includes optimization templates for both Windows desktop and server operating systems.

Once infrastructure resources and capacity have been verified, and the desktops and servers have been optimized, the performance of the display protocol can be tuned as necessary. 

The following registry settings have been determined through extensive testing to provide the biggest impact on system resources and user experience. Like the codec and transport options, they can be set using Group Policy or using your preferred method of making registry changes.

Table 7: Optimization Settings 

Setting

Registry Name and Description

Default

Max Session Bandwidth

MaxBandwidthKbps – The maximum bandwidth used by all services (display, keyboard and mouse, audio, file transfer, clipboard, and so on), in kilobits per second.

1000000

Minimum Session Bandwidth

MinBandwidthKbps– The minimum bandwidth used by all services, in kilobits per second.

256

Maximum Screen Bandwidth

MaxBandwidthKbpsPerMegaPixelSlope – The maximum bandwidth used to transfer screen contents per megapixel remoted, in kilobits per second.

Note: This parameter does not impact the bandwidth of other services such as audio and file transfer, which are unrelated to transfer of the screen.

6200

Lowest Starting H.264 Quality

H264maxQP – The lowest quality that H.264 will start with before building the screen to higher quality. The range is 1–36, where 1 is the highest quality.

36

Lowest JPG Quality

JpegQualityLow – The lowest quality JPG/PNG will start with before building the screen to higher quality.

25

Mid JPG Quality

JpegQualityMid – JPG/PNG medium quality.

35

Highest JPG Quality

JpegQualityHigh – The highest quality that JPG/PNG will achieve. Note: Setting this option to 100 will not provide a lossless image. For lossless support, enable Build-to-Lossless (EncoderBuildToPNG = 1).

90

HDR: Relative Brightness of the Paperwhite Level

PixelProviderHDRReferenceWhite - Introduced in Horizon 8 (2106). Controls the relative brightness of the paperwhite level. Accepts integer value greater than 0.

80

Max Frames per Second

EncoderMaxFPS – The maximum frames per second that Blast Extreme will display.

30

Audio Support

AudioEnabled – Enables or turns off audio support.

0 – turned off
1 – enabled

1

Client-Drive Redirection

FileTransferState

0 – turn off upload and download
1 – enable upload and download
2 – enable file upload only
3 – enable file download only

1

Clipboard Support

ClipboardState

0 – turned off in both directions
1 – enabled in both directions
2 – enabled client to server only
3 – enabled server to client only

2

Encoder Image Cache Size (KB)

EncoderImageCacheSizeKB – Introduced in Horizon 8 (2111). Set on the virtual desktop and RDSH server (agent side). The actual size of the cache will be the lesser of this value, and the value of DecoderImageCacheSizeKB set on the client but cannot exceed half of the available RAM.

256

Decoder Image Cache Size (KB)

DecoderImageCacheSizeKB – Introduced in Horizon 8 (2111).Set on the client. The actual size of the cache will be the lesser of this value, and the value of EncoderImageCacheSizeKB set on the agent side but cannot exceed half of the available RAM.

256

Tuning Blast Extreme for Wide Area Networks

The most common reason to tune all display protocols is to enable them to support wide area networks (WANs). WANs typically have just a fraction of the bandwidth that is available on local area networks (LANs). Because WANs involve long-haul circuits or even satellite connections, they also impose latency (delay), extending how long it takes packets to travel from sender to receiver. Some even suffer from packet loss, where packets never arrive at the destination at all! Fortunately, Blast Extreme can be tuned to handle all of these situations.

It is important to recognize, however, that no display protocol can provide a perfect LAN experience over typical WANs. Some tradeoff in system configuration, supportable applications, and user experience is to be expected. Remember that you are separating the user and their keyboard, monitor, and mouse from the system they are actually using. It is remarkable that this setup can be made to work over a WAN at all!

The following tuning recommendations apply to all WAN conditions. These optimizations directly reduce both CPU and network bandwidth. Reducing network bandwidth is key to enabling support for all adverse network conditions.

  • Optimize the desktops and RDSH servers using the Omnissa Operating System Optimization Tool.
  • Test the new Blast Codec. With non-multimedia workloads, the Blast Codec uses the least bandwidth compared to all other codec options. If the testing in your environment is not successful, use JPG/PNG.
  • Adust the Blast Encoder Image Cache Size and the Decoder Image Cache Size. Introduced in Horizon 8 (2111) is the ability to adjust the size of the Blast codec cache. In testing this has been shown to decrease the amount of network bandwidth used by Blast Extreme. By default the encoder and decoder caches are set to 256 MB. Internal testing resulted In a 12 percent bandwidth savings by doubling the size of both caches to 512 MB. Actual results will depend on the application workloads and usage patterns.
  • Use a single monitor with the lowest screen resolution supported by the use case. This will reduce both network bandwidth and CPU utilization. Depending on application workload, 4K displays can use up to six times the resources as 1080P.
  • Display resource-intensive multimedia content in a window instead of full screen. If extensive use of graphically intensive content such as streaming video must be supported, consider asking users to view this content in a window, instead of full-screen mode. In testing with a single 4K display, viewing a typical YouTube video in standard windowed mode used 53 percent less bandwidth and 23 percent less virtual desktop CPU than watching the same video full-screen.
  • Do not use client-drive redirection unless absolutely required. Set FileTransferState to 0 to turn off client-drive redirection.
  • Use Blast Extreme clipboard settings to reduce or block using the clipboard. Set ClipboardState to 0 to turn off clipboard support.
  • Turn off audio unless absolutely required. Set AudioEnabled to 0 to turn off audio support.
  • Use Group Policy to prohibit use of desktop wallpaper. Desktop wallpaper unnecessarily expends both CPU resources to encode and network bandwidth to transfer. Use of a solid color with no image or pattern is recommended.
  • Use HTML5 multimedia redirection if resource-intensive web-browser-based content such as YouTube or eLearning streaming video must be supported. HTML5 multimedia redirection transfers this screen content to the client as HTML5 code instead of far less efficient display protocol traffic. Testing has revealed this reduces desktop and per-user RDSH server CPU utilization by up to 60 percent and per-user session bandwidth by up to 80 percent.

    However, it does increase client CPU utilization by up to 200 percent for the duration of the redirection (from an average of 8 to 24 percent on a sample test system). It also causes some screen content to letterbox, which may impair user experience. Be certain to test key applications and multimedia content before widespread deployment. For more information see Configuring HTML5 Multimedia Redirection .
  • Use Network QoS (Quality of Service). Omnissa recommends use of Network QoS to prioritize display protocol network traffic, not just on constrained WAN circuits, but even on the LAN as well. Without QoS, there is nothing to prevent “lower value” network traffic from impairing the performance of time-sensitive applications including Voice over IP and virtual desktops supported by display protocols like Blast Extreme.

    The goal is to configure QoS to prioritize Blast Extreme above general network traffic, but below the few applications that are even more sensitive to delay. Follow these guidelines:
    • Omnissa recommends configuring QoS to prioritize Blast Extreme one level below Voice over IP traffic, commonly the highest prioritized application. This is typically achieved using a Differentiated Services Code Point (DSCP) marking of AF41.
    • However, if the network also supports interactive video, Blast Extreme is often marked one-level lower with a DSCP marking of AF31.
    • Be certain to test any QoS configuration extensively to ensure not just proper performance for Blast Extreme, but that the configuration does not negatively impair other applications and services that the network must also support.
    • For further information about configuring Blast Extreme to use DSCP marking reference, see Omnissa Blast Policy Settings.
  • If the H.264 codec is used, set H264maxQP (the lowest starting H.264 quality) to 28. This will force H.264 to start at higher quality and prevent it from expending bandwidth to send initial low-quality screens.
  • What about frame rate? After comprehensive testing, we have determined that limiting frame rate provides little to no reduction in bandwidth or CPU utilization for typical applications and use cases. Typical Microsoft Office use, for example, results in a very low display protocol frame rate. And limiting frame rate for multimedia use cases such as streaming video simply impairs playback quality and user experience. It is better to leverage HTML5 multimedia redirection to optimize such use cases.
  • Special note about NVIDIA GPU supported use cases: Using NVIDIA GPUs to support H.264 and High Efficiency Video Coding (HEVC) substantially increases session bandwidth. This is due to the much higher graphical quality this hardware-enabled configuration provides. Keep in mind that this may complicate WAN use cases.

Note that while the optimizations in this section are typically used with WANs, they can also be used on the LAN if Blast Extreme’s default settings use more bandwidth or other resources than desired.

Additional Optimizations for Low Bandwidth

The following settings are specifically helpful for handling low-bandwidth conditions:

  • In testing, Blast Extreme has been measured using essentially the same amount of bandwidth with both TCP and UDP. Therefore, Blast Extreme can typically be left using its default setting of UDP unless the traffic must pass through a UDP-hostile network device such as a TCP-based SSL VPN.
  • Set MinBandwidthKbps (minimum session bandwidth) to 128 (the lowest currently supported setting).
  • Set MaxBandwidthKbps (maximum session bandwidth) and MaxBandwidthKbpsPerMegaPixelSlope (maximum display bandwidth) to the maximum desired bandwidth utilization per user.

Note that these minimum and maximum bandwidth settings are best effort, not hard limits. Blast Extreme will always resort to using more bandwidth, if necessary, to prevent the session from crashing. Keep in mind that MinBandwidthKbp and MaxBandwidthKbps also impact all services, including audio and file transfer, while MaxBandwidthKbpsPerMegaPixelSlope only limits the bandwidth used to transfer the screen contents.

Additional Optimizations for High Latency

Tuning to handle high latency starts with reducing bandwidth. The fewer packets the display protocol has to transfer across the network, the fewer that will be affected by high latency.

  • Use TCP if latency is greater than 250 milliseconds. In testing, TCP has been shown to handle high latency better than UDP.
  • Set MinBandwidthKbps (minimum session bandwidth) to 128 (the lowest supported setting).
  • Set MaxBandwidthKbps (maximum session bandwidth) and MaxBandwidthKbpsPerMegaPixelSlope (maximum display bandwidth) to either the circuit speed or the maximum desired bandwidth utilization per user.

    The former option allows Blast Extreme to “burst” and use more bandwidth when necessary, while the latter attempts to more strictly control it. Keep in mind, however, that Blast Extreme will always resort to using more bandwidth, if necessary, to prevent the session from crashing.

    MinBandwidthKbp and MaxBandwidthKbps also impact all services, including audio and file transfer, while MaxBandwidthKbpsPerMegaPixelSlope only limits the bandwidth used to transfer the screen contents.

Additional Optimizations for Packet Loss

Like high latency, tuning for packet loss starts with reducing bandwidth. The fewer packets the display protocol puts on the network, the fewer that will be affected by packet loss.

  • Fix the network if packet loss is greater than 5 percent.

    Although Blast Extreme has been able to provide a functional desktop and application experience when packet loss is in excess of 20 percent, it is with noticeable degradation to user experience. Work with network partners and circuit providers to fix the network.
  • Use UDP unless the traffic must pass through a UDP-hostile network device such as a TCP-based SSL VPN. In testing, UDP has been shown to handle packet loss better than TCP in most situations.
  • Set MinBandwidthKbps (minimum session bandwidth) to 128 (the lowest supported setting).
  • Set MaxBandwidthKbps (maximum session bandwidth) and MaxBandwidthKbpsPerMegaPixelSlope (maximum display bandwidth) to either the circuit speed or the maximum desired bandwidth utilization per user.The former option allows Blast to “burst” and use more bandwidth when necessary, while the latter attempts to more strictly control it. Keep in mind, however, that Blast Extreme will always resort to using more bandwidth, if necessary, to prevent the session from crashing. MinBandwidthKbp and MaxBandwidthKbps also impact all services, including audio and file transfer, while MaxBandwidthKbpsPerMegaPixelSlope only limits the bandwidth used to transfer the screen contents.

Guidance for Work-from-Home and Home-Office-to-Cloud Use Cases

There are some special considerations when supporting work-from-home and home-office-to-cloud use cases:

  • While typically supporting just a single user, most households do not yet have LAN-speed Internet connections (gigabit Ethernet). This means most should be considered medium- to high-speed WAN use cases.
  • Do not forget the incoming Internet circuits. These were typically not sized to handle organizations rapidly shifting their workforces to work-from-home deployments. For many customers, maximizing the capacity of these circuits will lead them to optimize Blast Extreme before the needs of any individual home user.
  • If possible, implement network Quality of Service (QoS) to further help maximize the capacity of these Internet circuits and prevent competing network traffic from degrading the performance of Blast Extreme.
  • If bandwidth needs to be limited, start with the MaxBandwidthKbpsPerMegaPixelSlope setting, which limits only the display traffic without negatively impacting audio, file transfer, or other supporting services.
  • MaxBandwidthKbps, which uniformly limits the bandwidth of all Blast Extreme services, can also be used to support more difficult network conditions.
  • If possible, prevent or encourage only limited use of bandwidth-intensive services such as file transfer.
  • Limiting the resolution of employees’ monitors also greatly reduces Internet circuit bandwidth utilization. A monitor at 4K resolution requires up to six times the bandwidth for the same application workload as 1080p.
  • Running traditionally full-screen applications in a window instead of full-screen can also slash bandwidth utilization. In testing, viewing a YouTube video in a standard window instead of full-screen reduced bandwidth utilization by 53 percent.
  • Be sure to also leverage HTML5 multimedia redirection if browser-based HTML5 content must be supported. Testing has shown this reduces the bandwidth required to support such content by up to 80 percent. However, it does increase client CPU utilization by up to 200 percent for the duration of the redirection (from an average of 8 to 24 percent on a sample test system). It also causes some streaming video to letterbox, which may impair user experience. Be certain to test key applications and multimedia content before embarking on widespread deployment.

Optimizing for Quality

The other common reason to tune display protocols is to increase quality. By design, Blast Extreme provides an excellent out-of-the-box user experience for typical applications and use cases on LANs. However, some applications and use cases require higher quality. Fortunately, these can typically be supported with additional resources and special tuning.

It is extremely important to recognize that optimizing for higher quality nearly always results in more system resources being used, not less. Except under unique conditions, it is not possible to increase quality while limiting system resources.

The following tuning options are recommended to increase display protocol quality for all use cases and applications. Start with these recommendations before moving on to more specialized settings.

  • Do not starve the virtual desktops and RDSH servers of resources.
  • Demanding graphical applications commonly require more than two virtual CPUs, even with hardware GPU support.
  • Ensure that ESXi hosts have sufficient resources, especially CPU. Monitor for high CPU Ready times (which are evidence of processor contention).
  • Deploy virtual desktops and RDSH servers on fast virtual disks (all-flash or flash-optimized).
  • Although RAM is rarely the bottleneck, monitor RAM to ensure it is not being over utilized by applications.
  • Test the new Blast Codec unless this use-case is primarily in support of full motion video or high-speed motion graphics such as gaming. If the testing is not successful, use JPG/PNG.
  • If the primary use-case is full motion video or high-speed motion graphics such as gaming, use the H.264, H.264 with High Color Accuracy or High Efficiency Video Coding (codecs), offloaded to an NVIDIA Tesla or newer GPU.
  • Do not attempt to support high-quality use cases over a WAN or poorly functioning network.  Except in unique situations, optimizing quality increases bandwidth utilization, whereas optimizations for WANs require limiting quality to function over poor network conditions.
    • Even when there might be sufficient bandwidth, such as for a home-based user with a high-speed cable network connection, be certain to validate end-to-end bandwidth, latency, and packet loss before deciding if the use case can be supported.
    • Note that this guidance does not include Metropolitan Area Networks (MANs) or similar “LANs over long distance,” which typically have as much, if not more, bandwidth than common user LANs.
  • Optimize the Windows operating system in virtual desktops and RDSH servers using the Omnissa Operating System Optimization Tool, but recognize that some optimizations applied by default might reduce quality or turn off features required to support higher-quality applications.
  • Use HTML5 multimedia redirection if resource-intensive web-browser-based content such as YouTube or eLearning streaming video must be supported at high screen resolutions without NVIDIA GPUs. HTML5 multimedia redirection transfers this screen content to the client as HTML5 code instead of far less efficient display protocol traffic. Testing has shown this enables smooth 4K video playback without need for hardware GPUs.

    However, it does increase client CPU utilization by up to 200 percent for the duration of the redirection (from an average of 8 to 24 percent on a sample test system). It also causes some screen content to letterbox, which may impair user experience. Be certain to test key applications and multimedia content before widespread deployment. For more information, see Configuring HTML5 Multimedia Redirection.

When to Leverage NVIDIA GPUs

Consider using NVIDIA GPUs to:

  • Provide a hardware GPU to support graphically demanding applications such as 3D design, gaming, and photo editing.
  • Offload H.264 and High Efficiency Video Coding (HEVC) encoding from the hypervisor hosts.
  • Introduced in Horizon 8 (2106): Enable support for High Dynamic Range (HDR) color
  • Support full-motion video at 4K display resolution or above without HTML5 redirection.

Additional Optimizations for Still Image, 3D Design, and Font Quality

To further increase quality:

Additional Optimizations for High-End Multimedia and Video Gaming

In addition to leveraging all of the optimizations described in the preceding section for still images, 3D design, and font quality, try the following suggestions:

  • Use NVIDIA Tesla or newer GPUs. Use cases of this caliber nearly always require hardware GPUs to provide the necessary graphics capabilities and acceleration.
    Note: NVIDIA GPUs will also offload H.264 and HEVC encoding.
  • Increase virtual desktop resources. More than 8 virtual CPUs might be required to support the most demanding use cases, especially video gaming, even with NVIDIA hardware GPUs.
  • Consider using the HEVC codec. HEVC supports higher-quality imaging with less bandwidth utilization than H.264. HEVC requires NVIDIA GPUs to be installed in the ESXi hosts to offload encoding. HEVC also requires a client device capable of HEVC GPU decoding.
  • Increase the frame rate. By default, Blast Extreme is capped at 30 frames per second (FPS). You can increase the rate, up to 60 FPS, by using the Windows Registry setting EncoderMaxFPS. In testing, video gaming workloads have been routinely benchmarked performing at 60 FPS.

GPU Capabilities with Physical Desktops

Omnissa Horizon and Blast Extreme support not just virtual desktops, but physical ones too. This is ideal for providing remote access to user PCs. But it can also be used to support graphically intensive applications by leveraging the desktop’s physical GPU.

However, in testing it has been determined that only Intel GPUs support OpenGL applications in a remote session. NVIDIA and AMD GPUs are not able to support OpenGL due to a limitation of their video drivers. All three however—NVIDIA, AMD, and Intel—are able to support Microsoft DirectX.

Table 8: OpenGL and DirectX Support Per Brand

GPU Brand

OpenGL Support?

Microsoft DirectX Support?

NVIDIA, including GTX 10xx and 20xx series models

No

Yes

AMD, including Radeon RX and Vega RX models

No

Yes

Intel, including Intel HD Graphics 530, UHD Graphics 620, and Iris Plus Graphics 650

Yes

Yes

Note: Despite the presence of a physical GPU, Blast Extreme with physical desktops is not able to offload H.264, H.264 with High Color Accuracy, or High Efficiency Video Coding (HEVC) encoding, even with NVIDIA GPUs. This is also due to a limitation of desktop-class video drivers. Refer to Using Horizon to Access Physical Windows Machines for more information about using Blast Extreme with physical desktops.

Summary and Additional Resources

Blast Extreme was carefully designed to provide an excellent out-of-the-box experience, with no additional configuration required in almost all cases. For extreme low-bandwidth, high-latency, or high-performance uses cases, however, Blast Extreme comes equipped with several tuning options, as described in this guide.

Additional Resources

Omnissa Horizon Documentation

Omnissa Horizon Client documentation

Configuring Remote Desktop Features in Horizon

Using Horizon Performance Tracker

Omnissa OS Optimization Tool

Changelog

The following updates were made to this guide.

Date

Description of Changes

2024/08/22

  • Branding update
  • Removed Blast Encoder Switch

2021/12/13

  • Updated to cover Horizon 8 (2111) and Horizon Cloud November 2021.
  • Added guidance for:
    • HEVC with High Dynamic Range (HDR) Encoding
    • Adjustable Encoder Image Cache Size and Decoder Image Cache Size settings

2020/03/26

  • Added information about the Blast Codec, which was introduced in the Horizon 7.10 release, and new information about the encoder switch.
  • Expanded the guidance on how to enable different codecs and verify the running configuration.
  • Added guidance on using Network Quality-of-Service (Qos) to prioritize Blast.
  • Added recommendations for supporting work-at-home and home-office-to-cloud use cases.
  • Added information about OpenGL and DirectX compatibility with hardware GPUs in remoted physical PCs.
  • Added guidance on the benefits of HTML5 multimedia redirection.
  • Added new observations on the impact of increasing screen resolution on key system resources.

Author and Contributors

  • Anirban Chakraborty, Senior Product Line Manager, Omnissa
  • Mike Erb, Staff Architect, Technical Marketing, Omnissa

Feedback

Your feedback is valuable. To comment on this paper, either use the feedback button or contact us at tech_content_feedback@omnissa.com.


Filter Tags

Horizon Horizon Horizon Apps Horizon Cloud Service Document Deployment Considerations Intermediate Deploy Optimize Windows Delivery