Why is RDP so fast compared to other remote control software?

10,068

Solution 1

RDP is a specific protocol which allows to transmit low-level screen drawing operations. It is also aware of pixmap entities on the screen. For example it understands when an icon is drawn and caches it (typically in a lossy compressed format) on the client side.

Other software does not have this low-level access: It waits for the screen to change and then re-transmit a capture of the screen or the changed regions. Whenever the screen changes, a pixmap representation has to be transmitted. Because this is lossy compressed in general, it also looks worse.

Solution 2

There are two major factors at work which determine the performance of a remote control product:

How does it detect when changes occur on the screen?

Some RC products divide the screen into tiles and scan the screen frame buffer periodically to determine if any changes have occurred.

Others will hook directly into the OS. In the past this was done by intercepting the video driver. Now you can create a mirror driver into which the OS "mirrors" all drawing operations. This is, obviously, much faster.

How does it send those changes across the wire?

Some products (like VNC) will always send bitmaps of any area that changed.

Others will send the actual operation that caused the change. e.g. render text string s using font f at coordinates (x,y) or draw bezier curve using a given set of parameters and, of course, render bitmap. This is, again, much faster.

RDP uses the faster (and more difficult to implement) technique in both cases. I believe the actual protocol it uses is T.128.

Bitmaps are usually compressed. Some products (like Carbon Copy) also maintain synchronized bitmap caches on both sides of the connection in order to squeeze out even more performance.

Share:
10,068
Gulbahar
Author by

Gulbahar

Updated on July 05, 2022

Comments

  • Gulbahar
    Gulbahar almost 2 years

    I use RDP-based Windows' Remote Client Desktop utility to connect to my desktop from my laptop. It's much faster and looks better than remote control applications like TeamViewer etc.

    Out of curiosity, why is RDP better?

    Thank you.