Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

windows

rdp

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.

like image 901
Gulbahar Avatar asked Aug 16 '09 11:08

Gulbahar


People also ask

Why is RDP faster?

It is also worth noting that the low-level screen drawing operations are much smaller in terms of data size than the bitmaps which other formats transmit. Less data transmitting over the wire means faster remote control.

Why is RDP faster than VNC?

VNC vs RDP performanceThe main goal of RDP is resource sharing, not screen sharing. For that reason, it provides a much faster and more efficient way of accessing a remote computer. RDP is often used in Virtual Private Servers (VPS) to allow multiple users simultaneous yet autonomous access to the same resources.

Is RDP faster than TeamViewer?

Both RDP and Teamviewer are considered profitable remote desktop technology for users. However, Teamviewer is known to be faster than RDP according to its users.

Is there anything better than RDP?

The best alternative is TeamViewer. It's not free, so if you're looking for a free alternative, you could try Chrome Remote Desktop or Remmina. Other great apps like Remote Desktop Connection are AnyDesk, mRemoteNG, DWService and UltraVNC.


2 Answers

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.

like image 57
Ferruccio Avatar answered Oct 24 '22 09:10

Ferruccio


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.

like image 32
ypnos Avatar answered Oct 24 '22 08:10

ypnos