Windows 7 / Networking

Improving Remote Desktop Performance

If available network bandwidth between a client computer and the remote host computer is limited, you can improve a Remote Desktop experience by reducing the color depth on the Display tab of the RDC client from its default 32-bit value. You can also selectively disable desktop experiences on the Experience tab to further improve Remote Desktop performance.

If you routinely transfer large files, submit large print jobs, or perform other bandwidthintensive actions over a Remote Desktop connection, you may be able to improve the performance of a Remote Desktop experience by configuring display data prioritization on the host computer. Display data prioritization is designed to ensure that the screen performance aspect of a Remote Desktop experience is not adversely affected by such bandwidth-intensive actions. Display data prioritization works by automatically controlling virtual channel traffic between the client and host computer by giving display, keyboard, and mouse data higher priority than other forms of traffic.

The default setting for display data prioritization is to allocate 70 percent of available bandwidth for input (keyboard and mouse) and output (display) data. All other traffic, including use of a shared clipboard, file transfers, print jobs, and so on, is allocated by default only 30 percent of the available bandwidth of the network connection.

You can manually configure display data prioritization settings by editing the registry on a host computer running Windows Vista or later versions. The registry entries for display data prioritization are the following values, which are found under HKLM\SYSTEM\CurrentControlSet \Services\TermDD. (If these DWORD values are not present, you can create them.)

  • FlowControlDisable Set this value to 1 to disable all display data prioritization and handle all requests on a first-in-first-out (FIFO) basis. The default value of this setting is 0.
  • FlowControlDisplayBandwidth Specify a relative bandwidth priority for display and input data up to an allowed value of 255. The default value of this setting is 70.
  • FlowControlChannelBandwidth Specify a relative bandwidth priority for all other virtual channels up to an allowed value of 255. The default value of this setting is 30.
  • FlowControlChargePostCompression Determine whether flow control will calculate bandwidth allocation based on pre-compression bytes (if the value is 0) or postcompression bytes (if the value is 1). The default value for this setting is 0.

By default, the ratio of FlowControlDisplayBandwidth to FlowControlChannelBandwidth is 70 to 30 or 70:30. This means that 70 percent of available bandwidth is reserved for display and input traffic, and the remaining 30 percent will be used for other types of traffic. If your Remote Desktop experience is being degraded during large file transfers and other bandwidth-intensive activity, you might change FlowControlDisplayBandwidth to 85 and FlowControlChannelBandwidth to 15, which allocates 85 percent of available bandwidth for display and input traffic while reserving only 15 percent for other traffic.

Note You must reboot your host computer for these registry changes to take effect.

[Previous] [Contents] [Next]

In this tutorial:

  1. Connecting Remote Users and Networks
  2. Enhancements for Connecting Remote Users and Networks in Windows 7
  3. Understanding IKEv2
  4. Understanding MOBIKE
  5. Understanding VPN Reconnect
  6. Protocols and Features of VPN Reconnect
  7. How VPN Reconnect Works
  8. Understanding DirectAccess
  9. Benefits of DirectAccess
  10. How DirectAccess Works
  11. Windows 7 and Windows Server 2008 R2
  12. Ipv6
  13. IPsec
  14. Perimeter Firewall Exceptions
  15. Implementing DirectAccess
  16. Understanding BranchCache
  17. Benefits of BranchCache
  18. How BranchCache Works
  19. Protocols Supported by BranchCache
  20. Implementing BranchCache
  21. Supported Connection Types
  22. Outgoing Connection Types
  23. Incoming Connection Types
  24. Deprecated Connection Types
  25. Supported Tunneling Protocols
  26. Comparing the Different Tunneling Protocols
  27. Understanding Cryptographic Enhancements
  28. Support for AES
  29. Weak Cryptography Removal from PP TP/L2TP
  30. Supported Authentication Protocols
  31. Understanding the VPN Connection Negotiation Process
  32. Creating and Configuring VPN Connection
  33. Creating a VPN Connection
  34. Initiating a Connection
  35. Terminating a Connection
  36. Viewing Connection Details
  37. Configuring a VPN Connection
  38. Configuring Security Settings for a VPN Connection
  39. Configuring the Tunneling Protocol (s) Used
  40. Configuring Advanced Connection Settings
  41. Configuring the Data Encryption Level
  42. Configuring the Authentication Method Used
  43. Configuring Authentication for IKEv2 connections
  44. Configuring Mobility for IKEv2 Connections
  45. Configuring Dial-Up Connections
  46. Creating a Dial-Up Connection
  47. Advanced Connection Settings
  48. Configuring Incoming Connections
  49. Managing Connections Using Group Policy
  50. Using Remote Desktop
  51. Understanding Remote Desktop
  52. Versions of RDP
  53. RDP 6.1 Features and Enhancements
  54. RDP 7.0 new features and enhancements
  55. RemoteApp and Desktop Connection
  56. Understanding RDC
  57. Understanding Remote Desktop Services Terminology
  58. Configuring and Using Remote Desktop
  59. Enabling Remote Desktop and Authorizing Users on a Single Computer
  60. Enabling Remote Desktop Using Group Policy
  61. Configuring and Deploying Remote Desktop Connection
  62. Configuring Remote Desktop Connection from the Command Line
  63. Configuring Remote Desktop Connection Using Notepad
  64. Configuring Remote Desktop Using Group Policy
  65. Establishing a Remote Desktop Session
  66. Improving Remote Desktop Performance
  67. Troubleshooting Remote Desktop Sessions
  68. Configuring and Using RemoteApp and Desktop Connection