与其他遥控软件相比,为什么RDP如此之快?

时间:2009-08-16 11:13:12

标签: windows rdp

我使用基于RDP的Windows“远程客户端桌面”实用程序从笔记本电脑连接到我的桌面。它比TeamViewer等远程控制应用程序更快,看起来更好。

出于好奇,为什么RDP更好?

谢谢。

2 个答案:

答案 0 :(得分:15)

RDP是一种特定的协议,允许传输低级别的屏幕绘制操作。它也知道屏幕上的pixmap实体。例如,它了解何时绘制图标并在客户端缓存它(通常采用有损压缩格式)。

其他软件没有此低级别访问权限:它等待屏幕更改,然后重新传输屏幕捕获或更改的区域。每当屏幕改变时,必须发送像素图表示。因为这通常是有损压缩,所以看起来也会更糟。

答案 1 :(得分:15)

有两个主要因素决定了遥控产品的性能:

如何检测屏幕上发生更改的时间?

某些RC产品将屏幕划分为图块并定期扫描屏幕帧缓冲区以确定是否发生了任何更改。

其他人会直接挂钩到操作系统。在过去,这是通过拦截视频驱动程序完成的。现在,您可以创建一个镜像驱动程序,操作系统将“镜像”所有绘图操作。显然,这要快得多。

如何通过网络发送这些更改?

某些产品(如VNC)将始终发送任何已更改区域的位图。

其他人会发送导致更改的实际操作。例如使用坐标(x,y)处的字体f渲染文本字符串s或使用给定的参数集绘制贝塞尔曲线,当然还有渲染位图。这再次快得多。

RDP在两种情况下都使用更快(更难实现)的技术。我相信它使用的实际协议是T.128。

位图通常是压缩的。某些产品(如Carbon Copy)也在连接的两端维护同步的位图缓存,以便挤出更高的性能。