RemoteFX with Remote Desktop Session Host
After reading the Can you connect to a Terminal Server via RemoteFX post on brianmadden.com, I decided to quickly try it out in Xylos’s lab environment. The installation, as expected, is very simple. On a Windows Server 2008 R2 SP1 system, install the Remote Desktop Services role and the Remote Desktop Session Host role service. There is no need to install the RemoteFX role service because it is only required for RemoteFX in combination with the Remote Desktop Virtualization Host role service and Hyper-V (VDI scenario). Note that a GPU is not required in the RDS scenario. It is required in the VDI scenario.
After installing the role services and the reboot, you need to enable RemoteFX with a policy (for full configuration steps, see http://technet.microsoft.com/en-us/library/ff817595(WS.10).aspx):
Note that the policy setting below it can be used to optimize the visual experience (see http://technet.microsoft.com/en-us/library/gg288964(WS.10).aspx).
Now, what about the user experience? Well, I must say the difference is definitely noticeable especially when playing videos or heavy Flash and Silverlight. The performance improvement does come at a cost of extra CPU cycles as the RemoteFX encoding is done by the CPU. I actually had to give my RDS host two CPUs to get a good result.
Note that I did my tests over the LAN using a wireless connection. From home, RemoteFX also performed very well but that’s a 35Mbit down connection over a 10Mbit up connection at work.
The question then becomes if RemoteFX is worth enabling in an RDS scenario for the incremental benefits it brings to performance and user experience. That’s something only real-world testing and benchmarking will tell. In the meantime, take RemoteFX for RDS into account when designing a remote desktop solution and keep in mind that it will work with any virtualization solution.