返回

文章详情

在Linux上测量输入延迟:X11与Wayland、VRR和DXVK

Hacker News2026年7月14日 16:36

2026-07-13 两年前,我在我的游戏PC上切换到了Linux。人们不断告诉我,在FPS、帧率稳定性和输入延迟方面,它的表现远远好于Windows,而试用之后,确实感觉好多了。网络上充满了关于如何优化Linux以进行游戏的建议:Wayland有较大的输入延迟,使用X11,禁用合成(“使用翻转模式”),使用针对低延迟优化的DXVK分支,使用游戏专业内核调度器等。我玩竞技FPS游戏,因此低延迟、一致的帧时间和高FPS对我非常重要。在Linux上,有无数设置可以调整(魔法环境变量、gamescope、gamemode,甚至更多的DXVK分支等等)。但我一直困扰于没有一种可靠的方法来验证某些东西是否确实降低了系统延迟,还是只是骗局、安慰剂效应,或者我没有意识到的实际更糟。设备这个想法很简单:将一种光传感器设备固定在显示器上,并通过USB连接到PC以模拟鼠标点击。在点击时,测量点击与光传感器检测到屏幕上变化之间的时间。通过这种方式,你可以测量端到端的系统延迟。NVIDIA有一张很好的图来总结这一点。虽然现在有几个这样的开源设备可用,比如m2p-latency或Open-Source-LDAT,但在我开始这个副项目时,只有OSLTT,我对硬件一无所知,很高兴能研究它的原理图,并在此基础上粗略设计我的项目。然而,直到本月才完成我的项目,我最终也整合了另外两个项目的许多想法。长话短说,我学到了很多关于微控制器、焊接、Arduino固件开发、集成时间、跨阻放大器、KiCad(只学到一点)和外壳设计的知识。我的方案是:一个Adafruit QT Py RP2040作为一个USB HID鼠标,具有1000 Hz的轮询率并发出点击。点击发送的瞬间,开始从光电二极管收集样本(每 ~24 µs)。每次点击收集12,000个样本,并通过串行流传输到主机,并记录到CSV文件中。根据这些样本,主机上的工具建立每个点击的基线,然后找到偏离基线一定量的第一个样本。由于收集12,000个样本所需的时间是固定的,因此现在可以计算发送点击和监测到亮度变化之间的时间。测试场景我想测试三件不同的事情。显示服务器(X11与原生Wayland)许多人仍然使用X11而不是Wayland,因为Wayland被认为输入延迟更差。根据搜索结果,有很多人抱怨Wayland“感觉不对”。VRR(开启与关闭)可变刷新率/G-Sync/FreeSync/你想称之为何。也是备受争议的。DXVK低延迟分支(开启与关闭)从现在开始称为dxvk-low-latency或低延迟。这个分支的维护者netborg在开发这个帧调节器上投入了很多努力,最近集成到了官方的proton-cachyos包中,通过环境变量PROTON_DXVK_LOWLATENCY=1启用。这个分支的承诺是我想再次尝试桌面Linux的决定性因素之一。附加:dxvk-low-latency与默认的dxvk无上限帧调节器dxvk-low-latency带来的最大优势是吸收帧时间波动并防止渲染队列积压。根据我使用的测试方法(一个静态游戏场景,见下文更多内容),没有观察到帧时间波动,因为所有测试都是纯CPU绑定的场景。但这大多并不反映真实的游戏会话,因为帧时间可能会因为游戏内或游戏外(如其他进程占用资源)发生的事情而波动。因此,为了展示调节器的工作情况,我添加了两个无上限测试案例。附加:原生Wayland与XWayland我所有的Wayland测试用例都是通过原生Wayland(PROTON_ENABLE_WAYLAND=1)运行的,因为我已经意识到XWayland会引入延迟。但是为了比较的目的,我添加了两个XWayland测试用例(仅VRR关闭)。测试条件硬件AMD Ryzen 7 5800X3D NVIDIA GeForce RTX 4070 SUPER 2x8 GB DDR4在3200 MHz MSI MAG 272QP QD-OLED X50在2560×1440 / 500 Hz MSI B450 GAMING PRO CARBON AC测试期间只连接了一个显示器。软件版本CachyOS - 内核7.1.3-2-cachyos NVIDIA驱动610.43.03-1 KDE Plasma 6.7.2-1.1 xorg-server 21.1.24-1.1 proton-cachyos-native 1:11.0.20260602-3 dxvk(通过proton-cachyos)3.0使用了默认的CachyOS内核调度器。系统设置500 Hz在系统设置中确认翻转模式在X11上:通过nvidia-settings启用在Wayland上:确认已启用(见下文如何)VRR在X11上:通过nvidia-settings启用(更改此设置需要重启)VRR在Wayland上:通过KDE设置菜单启用(无需重启)翻转模式(或“直接扫描”)与Blit模式(合成)在Wayland上:没有设置可供

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡