![如何修复 NoMachine 游戏间歇性冻结的问题?](https://linux22.com/image/993268/%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%20NoMachine%20%E6%B8%B8%E6%88%8F%E9%97%B4%E6%AD%87%E6%80%A7%E5%86%BB%E7%BB%93%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%9F.png)
只要我们禁用帧缓冲和后期处理,NoMachine 的性能对于正常使用来说就很棒。
但对于游戏来说,它似乎仍然很成问题。它比其他 VNC(vino)等效果好得多,但每隔几秒钟,流畅的游戏就会冻结。
对于我使用的测试:
- 一台台式机(服务器,4 核,3.6ghz,显示器不好)和
- 一台笔记本电脑(客户端,1 核,1.8ghz),分辨率 1280x800。
- 游戏:PathOfExile (Wine)(在服务器上运行顺畅)
我使用NoMachine的配置工具尝试了所有可能的方法:
- 最低 fps(30,或未指定),
- mpeg(而不是 vp8、x264),
- 将图像质量降至最低(仅用于测试,实际上不可用),
- 较低的分辨率(800x500)让游戏更加流畅,但视觉质量太差
- 仅查看模式,不向客户端传输音频,
还有什么可以做的事情来进一步提高它的性能吗?
有什么方法/技巧可以将 fps 降低到 30 以下吗?node.cfg 文件将其作为最低限制。
答案1
这似乎是播放(客户端)端 CPU 的问题,而不是编码或网络问题。降低质量无济于事,而禁用客户端的后处理(去块过滤器)却有所不同,这是一项耗费 CPU 的任务,这证实了这一点。
也就是说,将帧速率降低到 30 FPS 以下可能会有所帮助。您可以通过编辑服务器上的 node.cfg 文件 ('installationDirectory/NoMachine/etc/node.cfg') 手动执行此操作。
例如:DisplayServerVideoFrameRate 20
NoMachine 开发人员应该允许在 GUI 中指定较低的帧速率,因为这在像您这样的特定情况下可能会有用。
答案2
您可以尝试将其添加到 node.cfg
DisplayServerExtraOptions "-pixelperfect 0"
它禁用帧细化。然后监控 CPU 和内存是否有任何奇怪的使用峰值。