X11Forwarding 中有掉帧选项吗?

X11Forwarding 中有掉帧选项吗?

我正在无头远程虚拟机(Ubuntu 16.04)上通过 X11Forwarding 运行计算机视觉模型,并使用良好的 ol' Putty 和 Xming 作为我的 Windows X 服务器。

一切都很好,但如果客户端服务器带宽跟不上,似乎不会出现帧丢失,这意味着我的应用程序速度变慢,每秒只渲染几帧,而如果带宽充足,它可以渲染数百帧。

有没有强制框架下降X11 转发内置选项,如果有,如何打开它?

答案1

我强烈推荐X普拉对于此类用例:它不仅提供断开和重新连接到远程主机上运行的 X 应用程序的能力,还支持各种图像编码为了在不同情况下提供良好的体验,可以加速 OpenGL 应用程序在客户端中使用 OpenGL 以获得更好的性能

它有一个本机 Windows 客户端所以它应该很容易设置。您还需要将其安装在远程虚拟机上,但这就像apt install xpra在 Ubuntu 上一样简单。

答案2

根据这个相关问题,看起来X11Forwarding 不是图形密集型应用程序的最佳选择,因为 X11 协议在设计时并未考虑位图绘制性能。

它基本上发送绘图说明到网络,如果我们谈论的是几个带有文本的窗口,这“一切都很好”,但对于百万像素更改每一帧,特别是当网络遇到高延迟/抖动/数据包丢失时。

正如所提到的问题的答案中所建议的,您可以尝试x2go 并看看它是否符合您的需求。

根据评论编辑

如果x2go不行,你可以尝试一下VNC看起来有丢帧功能的。例如,我用于x11vnc从远程连接连接到我的桌面,并通过x11vnc -display :0 -auth .Xauthority该连接连接到我的显示器。

不知道它是否有效,Xming但你可以尝试一下。

答案3

纯 X11 协议本身并不足以保证传输,尤其是通过 SSH。

我推荐NoMachine。它可以进行带宽压缩和网络优化。它还具有适用于 Mac、Windows 和 Linux 的客户端。

附言。 NoMachine 有免费版和付费版。我一直用的是免费的。

无人机器

对于虚拟桌面(情况 a),默认启用 X11 矢量图形模式(以前​​称为“轻量级”模式)。该方法通过压缩技术、往返抑制和缓存算法优化 X11 协议,减少了客户端和服务器上的带宽使用(以及硬件要求,因为 CPU 密集程度较低)。

X11矢量图形模式可以方便地避免图像质量损失,并且在处理传统GUI或大量文本时很有用,但不建议将其用于多媒体内容或具有许多图形效果的应用程序。

有关 X11 矢量图形模式的更多信息: https://www.nomachine.com/AR02L00779

对于连接到物理桌面或为虚拟桌面禁用 X11 矢量图形模式时(情况 b),NoMachine 使用基于标准编解码器的视频和图像编码组合以及 NoMachine 自己开发的多种技术来实现显示协议。

它还实现了网络自适应显示质量技术。这意味着NoMachine在检测到网络拥塞时会自动尝试降低显示质量。此机制的目的是使会话能够在所有不同的网络条件下保持响应。

有关寻找最适合多媒体播放的配置的更多信息:

https://www.nomachine.com/AR01M00832

相关内容