Remote desktop connections to a Windows Server 2008 R2 Enterprise server were absurdly slow. Refresh times were as high as ten seconds. No amount of lowering the connection settings on the remote desktop connection would increase the speed. This problem occurred from Windows Vista and 7 clients connecting to the Windows Server 2008 machine. It did not happen when connecting via RDP from Linux machines.
On the Windows Server 2008 machine, navigate to the following registry key:
Add a new DWORD and give it the name DisableTaskOffload. Set the value on the new DWORD to 1.
Many articles on the web about slow RDP speeds will focus on Receieve Side Scaling (RSS) and Autotuning. I tried turning both of those off using the following method from an elevated command prompt:
netsh interface tcp set global autotuning=disabled netsh interface tcp set global autotuninglevel=normal
That did not help matters any. For more information on Windows network offloading, see this old article from 2001. Here are some other references to disabling task offloading that might be of interest
- Slow performance when you try to access resources on your Virtual Server 2005 host computer from a guest virtual machine
- Information about the TCP Chimney Offload, Receive Side Scaling, and Network Direct Memory Access features in Windows Server 2008
- You experience intermittent communication failure between computers that are running Windows XP or Windows Server 2003