designsoliman - Fotolia
How each remote display protocol handles codecs
The codecs that remote display protocols use to transfer an image to a virtual desktop have a large effect on the quality of both videos and text.
IT professionals might think that if they've seen one remote display protocol, they've seen them all. The reality is, however, these protocols are not all created equal.
When choosing VDI software, IT pros must account for how each remote display protocol affects user experience, server density and bandwidth utilization. One of the biggest differentiators is the codec options in the most common remote display protocols.
Last month, in a webinar hosted by BrianMadden.com and Team Remote Graphics Experts, attendees learned about the codec capabilities of Citrix HDX, VMware Blast Extreme and Microsoft Remote Desktop Protocol (RDP).
How codecs work
In a remote display protocol, the codec is responsible for taking the virtual desktop data and decoding it before it goes out to the end-user device. The protocol uses either a bitmap-based codec or a video-based codec.
Bitmap-based codecs, which include JPEG, Portable Network Graphics and Biphase Mark Code codecs, are the old reliable option. They work well for static content, such as text, and consume very little CPU.
Bitmap-based codecs require a lot of bandwidth for dynamic content, such as videos, said Bram Wolfs, end-user computing consultant at SLTN Inter Access in the Netherlands, in a webinar session.
Bram Wolfsend-user computing consultant, SLTN Inter Access
Video-based codecs, which include H.264 and H.265, are the newer option. They are bandwidth optimized to work well with dynamic content and have client decoding capabilities. Video-based codecs consume a lot of CPU if IT does not have a compatible graphics processing unit (GPU) to offload the encoding process on to. Video-based codecs often lose color information, for example, which can hurt the clarity of text.
"For optimal performance and experience, you ideally use a combination of a bitmap encoder and a video encoder," Wolfs said. "A protocol that automatically detects static and dynamic content and makes intelligent decisions about which codec should be used to deliver the best user experience while consuming the fewest resources is ideal."
Differences in video codec capabilities
Each remote display protocol uses a different method in its video codec to deal with text clarity problems.
Citrix HDX. Citrix added lossless text and adaptive combinations of bitmap and video codecs to HDX, the company's remote display protocol, to prevent text clarity issues. HDX supports both H.264 and H.265 video codecs with text optimization. In addition, HDX gives IT different options to configure and fine tune the quality settings and behavior of the video codec.
VMware Blast Extreme. VMware optimized its video codec for different use cases but had to settle for 4:2:0 image quality. The first number represents the amount of bandwidth devoted to the luma, which is the variation in brightness on the screen. The second two numbers represent the color differences. A 4:4:4 configuration, for example, offers the best image quality. If IT pros turn H.264 high color accuracy mode on in Blast Extreme, VMware's proprietary remote display protocol, they can reach a 4:4:4 image quality.
Microsoft RDP. The video codec in RDP delivers 4:4:4 image quality out of the box. Microsoft optimized RDP for quality, but it doesn't really allow IT to tune the codec or adjust the quality settings. RDP doesn't use bandwidth throttling and consumes as much bandwidth as it can to optimize the image quality, which can result in overall high bandwidth consumption. The video codec implementation RDP uses does not support Nvidia NVENC video encoding yet.
What is NVENC video decoding?
NVENC is a video decoding technology from Nvidia that offloads the H.264 resource usage from the CPU to the GPU. This takes pressure off the CPU, improves image density and allows for more frames per second, which leads to a better image. It's particularly helpful for VDI shops that use thin clients, said Barry Schiffer, an IT architect at SLTN Inter Access.
"[Thin clients] have limited amounts of CPU resources, so if you're going to use H.264, the frames per second will be limited," Schiffer said. "But if you can offload to a local GPU, you will see the amount of frames per second go much higher."
On the negative side, each graphics card can only handle a limited number of virtual desktop streams, Schiffer said. Nvidia's Kepler line, for example, can only handle three streams per card. Nvidia Maxwell cards can handle up to 18 streams.
NVENC only supports pure H.264 video codecs. If IT adds text optimization to its H.264 video codec, for example, it cannot offload the processing to the GPU. The one exception is that NVENC does support VMware's high color accuracy mode as long as IT has Maxwell GPU cards in place with newer drivers.
Evaluating remote display protocols
When evaluating a remote display protocol's role in a VDI deployment, IT can use Remote Display Analyzer to change and analyze display settings, as well as to understand and troubleshoot configurations. This tool only shows information that is applicable to the specific virtual desktop session an IT pro is looking at.
The latest version, Remote Display Analyzer 2.0, supports Blast Extreme, HDX and RDP. In addition, it supports Nvidia virtual GPUs (vGPUs). If it detects a vGPU, IT can open a separate menu to analyze its performance.