Linux内核新补丁:老旧电脑游戏性能有望大幅提升

Linux内核新补丁:老旧电脑游戏性能有望大幅提升

引言:老旧硬件游戏玩家的福音

对于在Linux系统上游戏的玩家而言,如果你的硬件配置已显陈旧,那么近期内核社区的一项工作绝对值得关注。Linux内核开发者Peter Zijlstra发布了一个名为“sched: Flatten the pick”的补丁系列第二版,其目标直指Linux调度器在处理cgroup(控制组)调度时存在的效率缺陷,而这可能为老旧硬件带来显著的游戏性能提升。

问题根源:cgroup调度的效率瓶颈

Peter Zijlstra将这个问题形容为“一个令人头疼的难题”。他发现,问题的根源在于一个计算公式,该公式会将一个任务组的总权重分散到系统的每一个CPU核心上。这意味着,在拥有64个核心的机器上,一个cgroup在每个CPU上能获得的优先级已经降至大约“nice 19”级别;而在当今服务器中常见的256核心环境下,这种优先级空间被进一步压缩,几乎可以忽略不计。

他将问题分解为两个部分:

  • 权重膨胀问题: 常见的解决方法是通过CPU核心数来放大任务组的权重,但当该组的所有负载都集中在一个CPU上时,其权重会急剧膨胀并远超nice -20(进程的最高优先级),导致计算逻辑失效。
  • 调度层级复杂: 当前调度器在选择下一个任务时,需要遍历多个cgroup层级。该补丁的解决方案则是将这种多级结构扁平化为单级,简化调度流程。

实验验证:老旧硬件性能显著提升

为了验证补丁的实际效果,Peter Zijlstra进行了一项实验。他使用了一台配置为Intel Core i7-2600K处理器和AMD Radeon RX 580显卡的旧电脑,通过Lutris和GE-Proton10-34运行GOG平台的游戏《Shadows: Awakening》。

为了模拟高负载环境,他在游戏运行时额外启动了8个“spinner processes”(一种持续占用CPU的进程),每个进程对应一个CPU线程。在这种压力下,游戏体验从“可玩”迅速恶化至“几乎无法游玩”。

随后,他重启了游戏,并通过chrt命令将调度器的时间片长度缩短为默认值的十分之一,同时使用MangoHud录制了两轮游戏的数据进行对比。结果令人印象深刻:

指标 默认时间片 缩短时间片
最低帧率 (FPS) 3.8 20.6
平均帧率 (FPS) 48.0 57.2
最高帧率 (FPS) 87.4 80.3
最小帧时间 (ms) 9.4 8.4
平均帧时间 (ms) 34.5 19.5
最大帧时间 (ms) 107.4 37.2

数据显示,应用补丁并缩短调度时间片后,游戏的最低帧率从3.8帧/秒跃升至20.6帧/秒,平均帧时间也从34.5毫秒大幅降低至19.5毫秒,整体流畅度得到了质的改善。

现实意义与未来展望

对于广大Linux游戏玩家,尤其是使用老旧硬件的用户来说,这类修复无疑是大有裨益的。Peter的测试环境虽然老旧,但他所模拟的高负载场景——例如同时运行Discord、打开多个标签页的浏览器以及后台的系统更新——与用户的日常使用习惯非常相似,这些程序同样会像那些“spinner processes”一样争夺CPU资源。

更重要的是,cgroup调度的问题并不仅限于老旧硬件。核心数量的增加反而会加剧权重碎片化的影响。因此,一旦该补丁被采纳,即使是拥有16核或更多核心的现代PC,也可能从中获益。

需要提醒的是,该补丁目前尚未被纳入Linux主线内核。它仍需经过相关内核维护者的严格审核,并很可能在最终合并前经历数次修订。因此,短期内普通用户还无法直接体验到这一改进。


关注微信号:智享开源 ,可及时获取信息

原文链接:https://feed.itsfoss.com/link/24361/17339878/linux-scheduler-patch-gaming-old-hardware

投稿作者 作者网站

评论列表

发表评论

你必须 登录 才能发表评论.

为您推荐


请支持IMCN发展!

谁在捐赠

微信捐赠 支付宝捐赠
微信捐赠 支付宝捐赠
ta的个人站点

发表文章4236篇

关注我的头条 不要放弃,百折不挠,坚强、自信。


IMCN【我是菜鸟】博客全面恢复更新,IMCN【我是菜鸟】博客已于 2026年3月13日 全面恢复内容更新!

扫码关注,或微信端搜“智享开源”

博客最新科技信息


归档

💬 和我聊聊