Over a Terminal Server RDP connection, there are multiple applications (for example video, clipboard, printer output etc) that send data over the connection from server to client. On a low bandwidth connection these applications compete for available bandwidth. As a result, important graphics data, such as the location of a window the user moves on the desktop, has to compete with data transmitted in the background, like a print job or a file copy. This problem manifests itself most severely when printing a large document over a low bandwidth connection. The printer data competes for available bandwidth with the video rendering, thus deteriorating the graphics rendering significantly.
In Vista (and Longhorn Server) we fix this by introducing a simple scheme wherein a fixed percentage of bandwidth is allocated to video, and the rest goes to virtual channel traffic (this means all kind of redirections). By default this allocation is 70% for Video and 30% for virtual channel data, meaning when bandwidth usage is under pressure video data is guaranteed to get 70% of the available bandwidth.
Although this scheme does solve the problem effectively, there could be some scenarios that might want to tweak it a bit. There are some registry values that can be set to tweak these settings. <
Note these are unsupported settings so all the legal disclaimers apply!
> A reboot is required for these setting to take effect.
Below is the list of registry values that affect the bandwidth allocation behavior. These are all DWORD values under
When set to 1 this value will disable new flow control algorithm; making it essentially FIFO (First-In-First-Out) for all packet requests. This provides results similar to win2k3. (Default for this value is 0).
These two values together determine the bandwidth distribution between display and virtual channels. You can set these values in the range of 0-255. For example setting FlowControlDisplayBandwidth = 100 and FlowControlChannelBandwidth = 100 will make the equal bandwidth distribution between video and VCs. The default is 70 for FlowControlDisplayBandwidth and 30 for FlowControlChannelBandwidth, thus making the default distribution equal to 70-30.
This value if set to 1 bases the bandwidth allocation on post-compression bandwidth usage. Default for this value is 0 - meaning the bandwidth distribution is applied on Pre-Compressed data.