New AMD Linux patch boosts low-end gaming performance on Steam Deck

New AMD Linux patch boosts low-end gaming performance on Steam Deck

AMD Linux 新补丁提升 Steam Deck 低端游戏性能

As the Steam Deck slowly marches toward its fifth birthday next February, owners are likely eager for a way to extend its life rather than investing in expensive high-end competition. A new patch for AMD’s Linux drivers could substantially reduce low-end frame hitches when the Steam Deck or other AMD-based gaming hardware is running in Energy Performance Preference (EPP) mode.

随着 Steam Deck 即将在明年二月迎来五周年纪念,用户们可能更渴望延长其使用寿命,而不是去购买昂贵的高端竞品。AMD Linux 驱动程序的一项新补丁可以显著减少 Steam Deck 或其他基于 AMD 硬件的游戏设备在“能效性能偏好”(EPP)模式下运行时的低端帧卡顿问题。

Writing on the Linux kernel mailing list (thanks, Phoronix), kernel coder David Vernet lays out the basic problem that games often face in EPP mode. When a busy thread frequently goes to sleep for short periods, the current AMD driver can misinterpret that behavior as a signal to lower its average performance target. When those threads wake up, they start at a lower-than-desired frequency, leading to increased frame latency, stale frames, and longer frame generation times at the low end of the distribution.

内核开发者 David Vernet 在 Linux 内核邮件列表中(感谢 Phoronix)阐述了游戏在 EPP 模式下经常面临的基本问题。当一个繁忙的线程频繁进入短时间休眠时,当前的 AMD 驱动程序可能会误将这种行为解读为降低平均性能目标的信号。当这些线程唤醒时,它们会以低于预期的频率启动,从而导致帧延迟增加、帧陈旧,以及在分布低端出现更长的帧生成时间。

Shifting the processor to “performance” mode fixes this problem but eliminates the energy savings that EPP mode is supposed to provide. And simply boosting the affected thread’s minimum performance target permanently actually makes low-end performance worse, thanks to the complexities of CPU/GPU boost management.

将处理器切换到“性能”模式可以解决这个问题,但会抵消 EPP 模式本应提供的节能效果。而由于 CPU/GPU 睿频管理的复杂性,简单地永久提高受影响线程的最低性能目标,反而会使低端性能变得更糟。

Vernet’s patch instead monitors cores to look for situations where a busy thread would benefit from an improved clock rate. The patch then temporarily sets just that core to the “performance” setting until the workload slows enough to downshift back into energy-saving EPP mode. The nitty-gritty implementation at a kernel level gets pretty complicated—read through Vernet’s write-up for all the details.

Vernet 的补丁转而通过监控核心来寻找繁忙线程可以从提升时钟频率中获益的情况。该补丁随后仅将该核心临时设置为“性能”模式,直到工作负载减慢到足以切换回节能的 EPP 模式。内核层面的具体实现相当复杂——您可以阅读 Vernet 的文章以了解所有细节。

But the worst-case performance improvements seem clear in early testing. Vernet’s testing on Civilization VI benchmarks saw a 31.8 percent improvement in the “1% low” fps measurement, and 4.1 percent faster p99 frame generation times (i.e., the point where 99 percent of frames are generated at least that quickly). While this EPP adjustment doesn’t affect the average FPS measurements in Vernet’s benchmark, speeding up the slowest frames the game generates should help moderate the occasional jerky frame hitches that can occur when running a game in EPP mode.

但在早期测试中,最差情况下的性能提升非常明显。Vernet 在《文明 VI》基准测试中发现,“1% 低帧率”(1% low fps)指标提升了 31.8%,p99 帧生成时间(即 99% 的帧至少能达到的生成速度)提升了 4.1%。虽然这种 EPP 调整不会影响 Vernet 基准测试中的平均帧率,但通过加速游戏生成的最慢帧,应该有助于缓解在 EPP 模式下运行游戏时偶尔出现的卡顿现象。

We’ll likely have to wait for Vernet’s submitted patch to be integrated into the full AMD Linux kernel to see how the new feature fares on other common gaming benchmarks. Regardless, it’s nice to see that low-level Linux coding updates are still wringing some performance improvements from Valve’s quickly aging handheld hardware.

我们可能需要等待 Vernet 提交的补丁被整合进完整的 AMD Linux 内核中,才能看到该新功能在其他常见游戏基准测试中的表现。无论如何,很高兴看到底层的 Linux 代码更新依然能从 Valve 这款日益老旧的掌机硬件中榨取出一些性能提升。