我使用基于RDP的Windows远程客户端桌面实用程序从我的笔记本电脑连接到我的台式机。与TeamViewer等远程控制应用程序相比,它速度更快,外观更好。
出于好奇,为什么RDP更好?
谢谢。
RDP是一种特定的协议,允许传输低级别的屏幕绘图操作,并且能够识别屏幕上的像素图实体。例如,当图标被绘制时,它可以理解并在客户端缓存它(通常以有损压缩格式)。
其他软件没有这种低级别的访问权限:它等待屏幕更改,然后重新传输屏幕截图或更改区域的捕获。每当屏幕更改时,都必须传输像素图表示。由于通常进行有损压缩,因此外观也更差。
决定远程控制产品性能的有两个主要因素:
如何检测屏幕上的变化?
一些 RC 产品将屏幕分成平铺,周期性地扫描屏幕帧缓冲区以确定是否发生了任何更改。
其他产品将直接连接到操作系统。过去,这是通过拦截视频驱动程序来完成的。现在,您可以创建一个镜像驱动程序,所有绘图操作都会被操作系统“镜像”到其中。这显然要快得多。
如何将这些更改发送到网络?
某些产品(例如VNC)始终会发送任何更改区域的位图。
其他产品将发送导致更改的实际操作。例如,在坐标(x,y)处使用字体f呈现文本字符串s,或者使用给定的参数绘制Bezier曲线,并当然进行位图渲染。这样做也会更快。
RDP在两种情况下都使用更快(且更难实现)的技术。我相信它使用的实际协议是T.128。
位图通常会被压缩。一些产品(如Carbon Copy)还会在连接的两端维护同步的位图缓存,以便挤出更多性能。