我正在X11Forwarding上运行一个无头远程VM (Ubuntu16.04)上的计算机视觉模型,我的Windows服务器使用了很好的ol‘Putty和Xming。
一切都很好,但如果客户端服务器带宽跟不上,就不会出现帧下降,这意味着我的应用程序速度慢了,如果带宽足够的话,它只能每秒呈现几个帧。
是否在X11转发中内置了强制帧丢弃选项,如果有,我如何打开它?
发布于 2018-09-12 08:17:37
我强烈推荐克普拉用于这种用例:它不仅提供了断开和重新连接到运行在远程主机上的X应用程序的能力,而且还支持各种图像编码,以便在不同的情况下提供良好的体验,如can 加速OpenGL应用和在客户端使用OpenGL以获得更好的性能。
它有一个本机Windows客户端,所以它应该很容易设置。您也需要在远程VM上安装它,但这和Ubuntu上的apt install xpra一样简单。
发布于 2018-09-12 07:56:42
根据这个相关的问题的说法,看起来X11Forwarding并不是图形整数应用程序的最佳选择,因为X11协议的设计并不考虑位图绘制的性能。
它基本上是向网络发送绘图指令,如果我们谈论的是两个带有文本的窗口,这是“一切都好”的,但对于每帧变化的数百万像素来说,这显然是过分的,特别是当网络经历高延迟/抖动/丢包时。
正如对上述问题的回答中所建议的,您可以尝试x2go并查看它是否适合您的需要。
按注释
如果x2go不这样做,您可以尝试使用看起来具有帧删除功能的VNC。例如,我使用x11vnc从与x11vnc -display :0 -auth .Xauthority的远程连接连接到桌面,该连接与我的显示器挂钩。
不知道它是否适用于Xming,但您可以尝试一下。
发布于 2018-09-12 08:24:54
纯X11协议本身并不能很好地保证传输,而且在SSH上也是如此。
我推荐NoMachine。它可以实现带宽压缩和网络优化。它还有Mac、Windows和Linux的客户端。
PS。NoMachine有免费和付费版本。我总是用免费的。
请参阅NoMachine
对于虚拟桌面( a),默认启用X11矢量图形模式(以前称为“轻量级”模式)。该方法通过压缩技术、往返抑制和缓存算法对X11协议进行优化,从而降低了客户端和服务器上的带宽消耗(以及HW要求,因为CPU较少)。X11矢量图形模式方便地避免了图像质量的损失,在处理传统图形信息系统或大量文本时也是有用的,但对于具有多种图形效果的多媒体内容或应用程序则不适用。更多关于X11矢量图形模式的信息:https://www.nomachine.com/AR02L00779用于连接到物理桌面,或者当X11矢量图形模式被禁用时用于虚拟桌面(例b),NoMachine使用基于标准编解码的视频和图像编码的组合以及NoMachine本身开发的许多技术来实现显示协议。实现了一种网络自适应显示质量技术。这意味着当NoMachine检测到网络拥塞时,它将自动尝试降低显示质量。此机制的目的是使会话通过所有不同的网络条件保持响应。有关寻找最适合多媒体播放的配置的更多信息:https://www.nomachine.com/AR01M00832
https://unix.stackexchange.com/questions/468446
复制相似问题