我在15 15Mbit/s网络上使用x11vnc,延迟20 am。当屏幕变化很大时,x11vnc是慢的--例如,当我在浏览器中切换一个选项卡时,需要花费将近两秒钟的时间才能完全重新绘制视图。
奇怪的是,在缓慢重绘时,x11vnc的最大连接速度甚至只有可用带宽的10%左右。为什么x11vnc不使用可用带宽来加速重绘?例如,scp使用100%的可用带宽,没有问题。
如何识别系统上x11vnc的瓶颈是什么?到目前为止我认为:
有什么想法吗?我怎样才能进一步剖析x11vnc,找出是什么导致了经济放缓?
例如,x11vnc是否有任何开关来显示它正在处理的数据的数量以及抓取屏幕、处理和压缩它并通过网络发送它所需的时间?
发布于 2012-06-07 23:06:25
来回答我自己的问题:
从紧编码到六边形编码的转换完全解决了重绘速度慢的问题。
添加一些细节:我注意到在缓慢的屏幕重绘过程中,客户机上的cpu达到了100%的使用率。我使用的是紧密编码,从页面VNC紧致编码器.比较结果中可以看出,与六边形编码相比,紧编码非常密集。在切换到最大cpu使用率从未达到100%之后,几乎所有可用带宽都得到了利用,而重绘总是花费不到一秒的时间。所以客户端的CPU是瓶颈。
或者更好的选择(更少的带宽、较低的cpu使用率,甚至比六边形更快)是用x11vnc支持编译TurboVNC,然后使用TurboVNC客户端。
发布于 2012-06-07 20:26:36
原因是屏幕捕获/呈现器效率低下。许多不同的VNC实现利用它来获得更好的性能。
如果您不需要准确地反映本地控制台上的内容,更好的解决方案是将无机NX或FreeNX作为远程桌面环境。与VNC相比,即使是在WAN链路上,性能也是日以继夜的。
https://serverfault.com/questions/395224
复制相似问题