Scrolling browser through RDP is jerky. Other applications behave fine. Why?
Your problem is likely caused by the use of hardware acceleration in modern browsers. While this is usually faster on local systems it can become really slow when used on remote sessions, as there are no high level drawing routines, that could be captured by the server component of the remote software. So the remote software must fall back to sending bitmaps instead of GDI drawing commands.
Disable hardware acceleration in your browsers and you should be fine.
- In Firefox
- go to Options->Advanced->General
- untick Use hardware acceleration when available
- In Internet Explorer
- go to Internet Options->Advanced
- tick Use software rendering instead of GPU rendering
What I used for my Windows 7 Professional and Ultimate hosts (I used Windows 7 as an RDP client, but they should work):
Changing the compression algorithm
Type in the search bar at the start menu: gpedit.msc
Computer Configuration
> Administrative Templates
> Windows Components
> Remote Desktop Services
> Remote Desktop Session Host
> Remote Session Environment
Source
Disabling the TCP auto-tuning (for Windows Vista+ host)
- Open up
cmd.exe
as administrator. - Type in:
netsh interface tcp set global autotuning=disabled
- To check if it worked:
netsh interface tcp show global
To re-enable it: netsh interface tcp set global autotuning=normal
Source
I believe the reason browsers are different from eg MS Office or applications using native widgets is that the toolkit sends higher-level events over RDP. For example, if you scroll, the toolkit sends a scrolling event telling the client to move one rectangle, and only sends the new content that the client does not have.
Browsers on the other hand do their rendering to a bitmap in order to get precise control over the output, so every time there is any update the entire rectangle needs to be re-sent. It is compressed, so non-image-heavy pages will be better, but it's still far less efficient.
You can see other evidence of this by looking at the fonts: if you have anti-aliasing enabled on your server, but disabled in your RDP client options, any application which still shows anti-aliased text is likely to have this problem since that implies it's doing its own rendering.
I only have a reference for this WRT Chrome: http://code.google.com/p/chromium/issues/detail?id=805#c1, but I believe it to be true of others; maybe somebody else can confirm/deny?
(Notably, Opera appears to honour the RDP client's anti-aliasing option and does indeed seem to be faster over RDP in my completely unscientific testing, so perhaps is not doing its own rendering to a backing bitmap. On the other hand it's still a lot slower than scrolling in Thunderbird, for example, so I'm not sure there.)
As a first step, you should download and install the latest drivers for the Network Interface cards from the manufacturer's site on both sides of the connection.
Yours is a Linux client, and apparently there are performance problems with the FreeRDP client. You could always try the old and true rdesktop to see if it can do better.
One thread advises to use instead the Remmina Project (which includes FreeRDP). Please read the thread for more details.
You could also switch to one of the VNC variants, although this may take some tuning. See thread1 and thread2 for advice on speeding it up.
TeamViewer is another excellent possibility.
For a Windows client, the article Top RDP Enhancement Tweak – MinSendInterval suggests in the registry key HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client
, to
create a new DWORD called, Min Send Interval
(with spaces) and set its value to 10.