![为什么 Linux 上的 RDP 客户端比 Windows 上慢得多?](https://linux22.com/image/69955/%E4%B8%BA%E4%BB%80%E4%B9%88%20Linux%20%E4%B8%8A%E7%9A%84%20RDP%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%AF%94%20Windows%20%E4%B8%8A%E6%85%A2%E5%BE%97%E5%A4%9A%EF%BC%9F.png)
我有一台 Windows 8.1 远程 PC,我使用 RDP 从 Windows 7 和 Linux 客户端连接到该 PC。我注意到 Windows 上的滚动性能比任何 Linux 发行版都要好得多。我正在使用 rdesktop、Remmina、GNOME-RDP,但屏幕刷新速度缓慢且不稳定,就像 VNC 一样。但RDP不像 VNC 那样工作,或者是吗?为什么会这样?Linux 上最快的 RDP 客户端是什么?或许远程桌面连接客户端在酒下?
答案1
RDP 协议有多个版本:
- 原始4.0,是ITU-T T.128协议的克隆
- 5.0 - rdesktop 仍在使用(甚至没有完全使用)
- 5.1、5.2、6.0、6.1、7.0、8.1 和 8.1
正如您可以想象的那样,RDP 的每个新版本都变得更好,不仅引入了新功能,还进一步提高了性能和整体用户体验。
正如我上面所写,rdesktop 仍然仅实现 RDP 5.0 协议的一个子集(Windows 2000 上使用的版本)。该版本的优化程度至少低于 6.0(随 Windows Vista 一起发布),而 6.0 是一个巨大的性能改进。
此外,Linux 上使用的整个 X11 窗口系统是一组用户态应用程序,而 Microsoft Windows 直接在其内核中处理图形事件(如屏幕滚动)。
屏幕(和应用程序窗口)滚动是一种需要将大量内存内容从一个地方复制到另一个地方的操作。此操作在系统内核中比在用户态应用程序中快得多。
这也会影响每个 RDP 实现的性能。
答案2
正如您从 gwilli 的回答中看到的,RDP 不是 RDP,因为该协议有许多不同的版本,具有许多扩展,并且客户端和服务器正在协商他们都理解的协议版本。
从本质上讲,两个 Windows 版本可能会就更新且性能更好的协议版本达成一致。
关于 Linux RDP 客户端的性能,我无法给出任何合格的评价,因为我不知道有关开源 RDP 实现的任何基准测试。如果您想比较客户端,您应该查看客户端使用哪些底层库,而不仅仅是客户端。这将使您的搜索更加高效。
答案3
如果您使用 Gnome,您可以通过 Ubuntu Tweaks 工具禁用动画。