通过 RDP 滚动浏览器时不顺畅。其他应用程序运行正常。为什么?

通过 RDP 滚动浏览器时不顺畅。其他应用程序运行正常。为什么?

我的 LAN 中设有 Windows XP SP3 和 Windows 7 机器作为服务器。(只有 100mbit LAN,没有 WAN)。

客户端是Linux,刚刚编译了最新的FreeRDP 1.x。

问题就在这里。比如说,当你打开大型 MS Office 文档(Excel、Word 等)时,你可以正常滚动,而且运行非常顺畅!

但在浏览器中,它有点不稳定。所以我的意思是,这不是连接问题。

为什么会发生这种情况?顺便说一句,我尝试创建一个包含大量文本的简单 HTML 文件,但仍然很卡顿。所以这不是包含图像的“重” HTML 页面的问题。

我也尝试使用 800x600 分辨率,但没有帮助。我遗漏了一些东西。

我尝试使用了很多设置。我尝试使用 16 位、24 位、启用/禁用主题等。

任何想法?

PS:在具有相同客户端(FreeRDP)的强大机器上,一切都运行得非常顺畅。

答案1

您的问题可能是由现代浏览器中的硬件加速使用引起的。虽然这在本地系统上通常更快,但在远程会话中使用时可能会变得非常慢,因为没有高级绘图例程,远程软件的服务器组件无法捕获这些例程。因此,远程软件必须回退到发送位图而不是 GDI 绘图命令。

禁用浏览器中的硬件加速就没问题了。

  • 在 Firefox 中
    1. 选项->先进的->一般的
    2. 取消勾选可用时使用硬件加速
  • 在 Internet Explorer 中
    1. 互联网选项->先进的
    2. 打钩使用软件渲染而不是 GPU 渲染

答案2

我在 Windows 7 Professional 和 Ultimate 主机上使用的内容(我使用 Windows 7 作为 RDP 客户端,但它们应该可以工作):

更改压缩算法

在开始菜单的搜索栏中输入:gpedit.msc
Computer Configuration> Administrative Templates> Windows Components> Remote Desktop Services> Remote Desktop Session Host>Remote Session Environment

来源

禁用 TCP 自动调整(适用于 Windows Vista+ 主机)

  1. 以管理员身份打开cmd.exe
  2. 输入:netsh interface tcp set global autotuning=disabled
  3. 检查是否有效:netsh interface tcp show global

要重新启用它:netsh interface tcp set global autotuning=normal

来源

答案3

我认为浏览器与 MS Office 或使用本机小部件的应用程序不同的原因是工具包通过 RDP 发送更高级别的事件。例如,如果您滚动,工具包会发送滚动事件,告知客户端移动一个矩形,并且仅发送客户端没有的新内容。

另一方面,浏览器将其渲染到位图上,以便对输出进行精确控制,因此每次有任何更新时,都需要重新发送整个矩形。它是压缩的,因此非图像密集型页面会更好,但效率仍然低得多。

您可以通过查看字体来看到其他证据:如果您的服务器上启用了抗锯齿功能,但在 RDP 客户端选项中禁用了该功能,则任何仍然显示抗锯齿文本的应用程序都可能存在此问题,因为这意味着它正在进行自己的渲染。

我对这个 WRT Chrome 只有参考:http://code.google.com/p/chromium/issues/detail?id=805#c1,但我相信对其他人来说也是如此;也许其他人可以证实/否认?

(值得注意的是,Opera 似乎尊重 RDP 客户端的抗锯齿选项,而且在我完全不科学的测试中,它确实比 RDP 更快,所以也许它没有对支持位图进行自己的渲染。另一方面,它仍然比在 Thunderbird 中滚动慢很多,所以我不确定。)

答案4

有一个很好的Technet 文章讨论了如何提高 RDP 中图形密集型应用程序的性能。

注意:技术文章强调在推出这些更改之前要进行测试。

为了获得最佳性能,建议进行以下注册表更改:

[HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client]
"Min Send Interval"=dword:00000001
"Keep Alive Interval"=dword:00000001
"BitmapCacheSize"=dword:0000ffff
"Order Draw Threshold"=dword:00000001 

除了上述注册表更改之外,我的测试还发现使用特定的 RDP 可配置选项可以获得最佳性能:

  1. 字体平滑
  2. 桌面构图
  3. 持久位图缓存

其他体验选项已关闭。

测试是在两台 Windows 10 桌面之间进行的。设置仅适用于我进行 RDP 操作的计算机。

相关内容