![如何使用 Spice 协议提高性能?](https://linux22.com/image/922438/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20Spice%20%E5%8D%8F%E8%AE%AE%E6%8F%90%E9%AB%98%E6%80%A7%E8%83%BD%EF%BC%9F.png)
因此,我在 Ubuntu 18.04 上的 quemu 下运行了许多虚拟机。除了远程访问虚拟机外,一切都运行正常:连接速度越慢,情况就越糟。在 4K 显示器上运行它们。使用 remmina 或 virt-viewer 没有任何区别。
- 在本地机器上,一切都接近完美,唯一明显的质量下降是视频全屏。
- 1gbit LAN:渲染时明显有延迟,即使在小窗口中,视频也会变得模糊
- 100 mbit LAN/互联网:全屏刷新可能需要几秒钟
- 20/4 mbit 互联网:当需要全屏刷新时,我可以看到屏幕上呈现的 64x64 方块,这需要几秒钟的时间。滚动编辑器窗口是一项需要耐心的操作。连接没用,但对于最紧急的任务来说,耐心不是问题。即使通过 ssh 进行 X 似乎也是更好的选择。
我将其与 Win10 RDP 进行了比较,通过相同的 20/4 连接,它的行为就像我在有问题的机器上一样,即使是全屏视频也是如此。
所有虚拟机的设置如下:
- 显示 spice:Spice 服务器,所有内容均为默认设置,无 OpenGL
- 视频 VirtIO:型号 VirtIO、3D 加速:是、磁头:2、RAM 128MB
我尝试了视频:QXL,但是那个视频完全占用了我的 LAN,即使在 gbit 下也是如此,占用的带宽也非常小(性能不如 VirtIO)。
所以我一直在寻找解决这个问题的方法,但发现没有什么用。但我偶然发现了一些提交到香料大师(很久以前)。据我所知,补丁已合并,因此应该可用,但目前视频支持对我来说显然仍然是 MJPEG。
那么我该如何启用此 gstreamer 支持,以便获得更高级的编解码器,如 VP8 甚至 H264?还是我做错了什么,导致我痛苦?
答案1
这是一个老问题,但如果您设置 SPICE 服务器监听所有接口并以此方式连接而不是 Virt-Viewer,速度会显著提升。Virt-Viewer 通过 SSH 建立隧道,这会增加很多延迟。
一旦设置了 VM 来监听所有接口,您就可以使用以下命令进行远程连接:
remote-viewer spice://remote_ip_address:port