RemoteFX Enhances the RDS User Experience
- By Greg Shields
Back in March, our industry saw a minor flurry of activity associated with a new Microsoft technology called RemoteFX. We'll see yet another flurry with the official release of RemoteFX in Windows Server 2008 R2 SP 1. RemoteFX represents a significant update to the graphics-processing capabilities of the Remote Desktop Services (RDS) core Remote Desktop Protocol (RDP).
In Microsoft's words, "Microsoft RemoteFX is designed to introduce a new set of end-user experience enhancements to remote desktop computing ... that enable[s] a rich, local-like desktop environment over the network. By leveraging the power of advanced codecs and virtualized graphics resources on the datacenter host, RemoteFX adds support for any application, including 3-D, and rich media to a virtual desktop environment."
When you add RemoteFX to a Windows Server RDS environment, you get a much-improved user experience for remote sessions. With it, remote users of virtual or session-based desktops can experience full-motion video, resource-intensive graphics apps, and even the entire Windows Aero interface with an acceptable frame rate.
That's obviously a fantastic improvement to RDP, but is this technology something you should add to your near-term planning, or are you better served by waiting?
Pitfalls of RDP
Understanding how RemoteFX works starts with a look at the RDP itself. Throughout its long history, delivering graphics within the RDP has been a client-side activity. The RDP client-side orientation enabled it to stay lean in terms of network consumption. Traditional RDP could easily serve up desktops and applications through low-bandwidth connections with a reasonably assured user experience.
While great for limiting network consumption, focusing that graphics rendering onto the client side introduces its own set of limitations. Before RemoteFX, RDS clients required client-processing power in order to decode graphics for presentation to the user. As a result, that processing limited how fast graphics updates could occur. If you've ever attempted to watch a movie directly through previous versions of RDP, you've seen how its frame rate can be measured in seconds per frame rather than frames per second.
Even more problematic was when an application's graphics format wasn't supported. RDP was forced to send individual bitmaps across the wire. This fallback response reduced performance and, as a result, diminished the user's experience with the application.
RemoteFX flips around some of the RDP processing by rendering graphics at the host rather than the client. This host-based graphics rendering centers on the use of a virtualized Graphics Processing Unit (GPU) and a set of special codecs. To accomplish this, Windows requires a physical GPU to be installed to the Hyper-V-based RDS host. Such a GPU isn't much different than the kinds of graphics cards you might add into a high-end workstation or gaming computer.
Moving graphics processing to the host doesn't fully eliminate the need for client-side rendering, but it does enable a spectrum of options for where graphics processing can be done.
Consider the situation where a "full" PC is remoting into a Hyper-V-based RDS environment. That full PC might have its own installed GPU as well as a powerful CPU. These two hardware components can work in concert with server graphics processing to balance the responsibility. Another environment might use lightweight devices at the client side. These might be inexpensive thin clients, or some form of PC-on-a-chip device that might not even exist today. In either of these situations, processing power simply isn't available at the client side. So, the server takes over the responsibility. What's important to recognize here is that RemoteFX is intelligent enough to handle each of these situations at the same time, taking over more responsibility at the server where necessary and less where not. While you might not start immediately installing GPUs into your Hyper-V-based RDS servers, this is a space to keep watching.
Greg Shields is Author Evangelist with PluralSight, and is a globally-recognized expert on systems management, virtualization, and cloud technologies. A multiple-year recipient of the Microsoft MVP, VMware vExpert, and Citrix CTP awards, Greg is a contributing editor for Redmond Magazine and Virtualization Review Magazine, and is a frequent speaker at IT conferences worldwide. Reach him on Twitter at @concentratedgreg.