30

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

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

谢谢你。

4

2 回答 2

19

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

它如何检测屏幕上何时发生变化?

一些 RC 产品将屏幕划分为小块,并定期扫描屏幕帧缓冲区以确定是否发生了任何变化。

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

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

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

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

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

位图通常被压缩。一些产品(如 Carbon Copy)还在连接的两侧保持同步的位图缓存,以挤出更多的性能。

于 2009-08-16T11:49:07.013 回答
18

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

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

于 2009-08-16T11:23:40.240 回答