Problem
Your RDP environment has poor performance, such as:
- Frame drops
- Poor image quality or compression
- High latency
- Disabled GPU (e.g. WebGL unavailable)
Problem details
Lack of configuration options on mobile clients

Lack of hardware acceleration using GPU

WDDM , instead of the GPU on the host PC.Solution
Prerequisites
Working Remote Desktop setup with:
- Host PC (Remote Desktop Session Host)
- Client device (Remote Desktop Connection Client)
- Admin access to change group policy options
- Stable and fast internet connection (5Mbps+) to see proper performance improvement
Requirements for GPU Acceleration
- GPU supporting DirectX 11 or higher
- OS support for RemoteFX to use enhanced graphics over RDP
Step-By-Step Guide
1 Open Local Group Policy Editor

Run Window, Opening gpedit.msc
Press Win + R to open Run. Type gpedit.msc and press OK.
Note: You can also search for Group Policy or gpedit on the start menu. {: .notice–info}
2 Configure Remote Session Environment settings
In order to achieve smooth experience, we can compress the image from the host PC to reduce the bandwidth, which will result in more frames per second.
2.1 Locate Remote Session Environment folder
Navigate to Computer Configuration – Administrative Templates – Control Panel – Remote Desktop Services – Remote Desktop Session Host – Remote Session Environment.

In this folder, you will find all the options you can modify to fine tune your Remote Desktop experience.
Disable Use WDDM graphics display driver for Remote Desktop Connections

By disabling this, connections will use XDDM instead of WDDM graphics display driver.
Enable Use hardware graphics adapters for all Remote Desktop Services sessions

By enabling this, sessions will use the GPU instead of the default renderer.
Enable Use advanced RemoteFX graphics for RemoteApp

By enabling this, RemoteApp programs will use advanced graphics, including support for transparency, live thumbnails, and seamless application moves.
Enable Prioritize H.264/AVC 444 graphics mode for Remote Desktop Connections

By enabling this, the server (host PC) will use H.264/AVC 444 codec in RDP 10 connections where both the client and server supports the codec. This improves the performance in watching videos encoded in H.264.
Enable Configure H.264/AVC hardware encoding for Remote Desktop Connections

By enabling this, Remote Desktop Conection will try to use H.264/AVC hardware encoding support for applicable clients. This will improve the performance in watching videos encoded in H.264 codec if the client supports hardware encoding.
Enable and configure Configure compression for RemoteFX data

By enabling this, you can specify which RDP compression algorithm to use.
I prioritized frame rates over image quality, so I selected Optimized to use less network bandwidth. This will decrease the network bandwidth usage with compressing the image a bit more. From my experience, the image compression wasn’t noticeable but it gave me higher frame rates. I recommend using this option.
If you need better image quality even with lags, you can select Optimized to use less memory or Do not use an RDP compression algorithm option.
Enable and configure Configure image quality for RemoteFX Adaptive Graphics

By enabling this and set quality to Low, RemoteFX Adaptive Graphics uses an encoding mechanism that results in low quality images. This mode consumes the lowest amount of network bandwidth of the quality modes. This will increase the maximum refresh rate of the Remote Desktop session.
If you need better image quality even with lags, you can select Medium or High option. The performance will depend on your internet connection.
Enable Enable RemoteFX encoding for RemoteFX clients designed for Windows Server 2008 R2 SP1

By enabling this, you can configure graphics encoding to use the RemoteFX Codec on the Remote Desktop Session Host server. This policy setting applies only to clients that are using Remote Desktop Protocol (RDP) 7.1, and does not affect clients that are using other RDP versions. This will enhance the Remote Desktop experience in certain client version.
Enable and configure Configure RemoteFX Adaptive Graphics

By enabling this, you can configure the default RemoteFX experience settings.
As mentioned above, I prioritized frame rates over image quality, so I selected Optimize for minimum bandwidth usage. This will decrease the network bandwidth usage with compressing the image. From my experience, the image compression wasn’t noticeable for most of the time but it gave me higher frame rates. I recommend using this option.
Disable Use WDDM graphics display driver for Remote Desktop Connections

By disabling this, Remote Desktop Connections will not use WDDM graphics display driver. In this case, the Remote Desktop Connections will use XDDM graphics display driver. This will enable you to utilitize the performance of your GPU installed on the host PC.
Step 3. Configure RemoteFX settings
In order to utilize the GPU installed on the host PC, we have to enable RemoteFX on the host PC first.
What is RemoteFX?
Microsoft RemoteFX is a set of technologies that enhance visual experiences in Remote Desktop Protocol (RDP). It utilizes the GPU installed on the host PC to render the graphics and compress it over the network to optimize the bandwidth usage. It means it uses more of your hardware to make your Remote Desktop environment smoother.
For example, if you are trying to send 1080p 60fps session over the internet without any compression, you would need almost 3 Gbit/s network connection. But with RemoteFX configured, the host PC uses an efficient compression algorithm to reduce the bandwidth usage, and also processes it with the installed hardware. And also, since the graphics are rendered from the server, you can use graphic intense applications over Remote Desktop.
Read more: RemoteFX on Wikipedia {: .notice}
Step 3.1. Locate RemoteFX for Windows Server 2008 R2 folder

Local Group Policy Editor Window, RemoteFX for Windows Server 2008 R2
Navigate to Computer Configuration – Administrative Templates – Control Panel – Remote Desktop Services – Remote Desktop Session Host – Remote Session Environment - RemoteFX for Windows Server 2008 R2.
In this folder, you will find all the options you can modify to fine tune your RemoteFX configurations.
Enable Configure RemoteFX

By enabling this, RemoteFX will be enabled. RemoteFX will deliver a rich user experience over LAN connections and RDP 7.1.
Enable and configure Optimize visual experience when using RemoteFX

By enabling this, you can specify the visual experience in Remote Desktop Connection (RDC) connections that use RemoteFX.
For Screen capture rate (frames per second), I selected Highest (best quality) for maximum refresh rate, and for Screen Image Quality, I selected Medium (default) for decent image quality. In my case, selecting Lowest resulted in pixelated graphics in some occasions.
Enable and configure Optimize visual experience for Remote Desktop Service Sessions

By enabling this, you can specify whether to optimize for media or text in RDP sessions.
In my case, I watched some videos and photos through the Remote Desktop, so I selected Rich multimedia. You can configure this option to your preferences.
Step 4. Apply changes
After making changes in Local Group Policy Editor, you can just close the window as the settings are automatically applied. If you changed any settings that require restart, restart your host PC once. After your host PC restarts, you can reconnect to the session and compare the differences in refresh rate or image quality.
Bonus: Testing your refresh rate
If you are not sure about whether you are getting 60fps on your Remote Desktop session, you can use testufo.com to test your refresh rate.
Troubleshooting: Still having performance issues?
The problems could be one or more of the following:
- Internet connection speed / latency between client and host
- Driver problems for GPU installed on host PC
- Didn’t restart the host PC after configuration