如何使 VNC 更快?

Nic*_*win 40 networking remote-desktop vnc

我需要每周远程访问和使用我的工作计算机几次。我目前正在使用 UltraVNC。由于价格原因,我想使用 VNC。我以前用过 VNC,主要是在我自己的网络上,速度很快。

但是,互联网上的 VNC 速度非常慢。即使在 256 色和更低的颜色下,关闭 Aero 功能,速度也慢得难以忍受。我最近使用Ammyy Admin连接来做一些需要快速反应时间的事情。Ammyy 速度非常快,几乎没有延迟,而且它在 Aero 开启的情况下以全彩色运行!

我怎样才能让 VNC 更快,就像 Ammyy 一样?我会使用 Ammyy,但我可能很快就会遇到 15 小时/月的限制。有什么建议?

Ken*_*ran 26

VNC 在它使用的协议中有一些固有的限制。RFB,远程帧缓冲区,通过网络传输像素矩形来工作。分辨率和位深度越高,发送更新所需的带宽就越多。VNC 服务器/客户端已经做了一些优化:

  1. 仅发送更改的区域,在客户端缓存未更改的区域。
  2. 在发生更改时复制客户端上的缓存区域。
  3. 各种形式的无损和有损压缩

您可以修改客户端和服务器上的设置,以查看哪些设置最适合您的 Internet 连接。任何客户端都可以连接到任何服务器,因为它们会协商确定支持哪些协议功能,但如果您想使用更高级的协议功能,最好使用来自同一家公司的客户端和服务器。

RDP 和 X 协议传输绘图指令而不是像素块。这就是为什么在某些条件下它们优于 VNC。

其他专有的远程访问服务可能使用类似的技术,但没有记录。远程访问服务确实具有比直接远程访问更容易穿透防火墙的好处,它们通常更容易配置并且对加密有更好的支持。

我使用过 VNC、远程桌面、LogMeIn Free、PCAnywhere 和远程 X。 每个都有其优点:

  • 在极其有限的比特率下,VNC 实际上比其他协议表现得更好。(想想拨号连接)它几乎适用于任何平台。
  • 远程桌面在 LAN 上运行良好,并与 ActiveDirectory 无缝集成。
  • LogMeIn 非常适合通过 Internet 访问 Windows PC,并且还支持 ActiveDirectory 集成。它具有 ActiveX、Java、Firefox 扩展甚至基于 HTML 的客户端。免费版最多可让您管理 5 台 PC。付费版本增加了这个数字,添加了文件传输和高级管理功能。
  • PCAnywhere 类似于 VNC 和远程桌面。它支持各种级别的加密、文件传输和远程配置。您必须使用 VNC 和远程桌面拼凑的东西。
  • X 相当于 Unix 世界的远程桌面。公平地说,它的存在时间比任何其他协议都要长。它在局域网上工作得很好,但在互联网上太健谈了。有几个项目试图改善这一点,并取得了不同程度的成功。已经提到的 NoMachine NX 就是这样一个项目。

除了赛门铁克出售的 PcAnywhere,我提到的所有远程访问协议都是免费提供的(通过操作系统或下载)。

就我个人而言,我会尝试每一种并选择最适合您需求的一种。


Joe*_*oey 16

你可以试试NoMachine NX。我的一个朋友使用它在提高 VNC 速度方面取得了一些成功。

至于我,我正在使用 RDP,我认为这绝对是 Windows 系统的必经之路。其他人使用TeamViewerRemote Administrator取得了良好的效果。


小智 11

尝试使用这个:

-snapfb

不要轮询 X 显示帧缓冲区 (fb) 的更改,而是定期将所有 X 显示 fb 复制到主内存中并检查该副本是否有更改。在某些情况下,这会改善交互响应,或者至少使事情看起来更流畅,但在其他情况下(大多数!),它会使响应变得更糟。如果视频 h/w fb 读取小图块的速度非常慢,则此模式可能会有所帮助。为了保持“帧速率”较高,屏幕尺寸 x bpp 不能太大。请注意,此模式非常浪费内存 I/O 资源(即使没有任何更改,它也会进行全屏复制)。它可能用于类似视频捕获的应用程序,或者出现窗口撕裂问题的应用程序。

这为我解决了问题。

  • 我遇到了更新延迟超过 10 秒的问题。这个标志使这个问题完全消失。不知道为什么这个答案没有更多的赞成票。 (2认同)