Steam Deck 平均 FPS 冇變都順咗:AMD EPP patch 修緊咩
3C 產品

Steam Deck 平均 FPS 冇變都順咗:AMD EPP patch 修緊咩

圖片:via XDA Developers — https://www.xda-developers.com/linux-gamings-frame-timing-problem-was-always-the-driver-not-proton-and-amd-just-proved-it/
TechLab 編輯部(譯)·

早期測試改善低幀表現,但 Linux 窒格唔可以全怪 Proton

平均 60 FPS,一樣可以窒到你感覺到

玩 Steam Deck 或 AMD handheld PC,最易中伏就係畫面顯示平均 60 FPS,郁起上嚟仍然間中窒一窒。原因係平均值可以收埋幾幀特別慢嘅畫面:60 FPS 理論上每幀約 16.7ms,但如果大部分畫面準時交貨,間中有一幀拖到 40ms、50ms,個平均數未必跌好多,手感就已經斷咗一下。呢類短暫停頓,睇 1% low 同 frame-time percentile 通常會清楚過淨睇平均 FPS。

Steam Deck OLED 正面官方產品圖,畫面顯示 SteamOS 遊戲介面

圖片:Valve

呢次修嘅其實係 CPU 點樣加速

David Vernet 提交嘅四個 RFC patch 改動 AMD P-State,呢個係管 CPU 頻率同耗電取向嘅 driver,唔係 Radeon GPU 嗰套 Mesa、RADV 或 amdgpu。AMD P-State active mode 會用 EPP,即 Energy Performance Preference,提示硬件偏向效能定慳電;遊戲主 thread 每幀等 futex 或 GPU fence 時會短暫休息,硬件見到負載跌咗,可能順手將 CPU 頻率壓低。thread 醒返要即刻準備下一幀,頻率就未必趕得切回升,frame time 尾段因而拉長。

epp_boost 點樣執返呢個時間差

Vernet 嘅做法係只推高啱啱忙過嗰粒 core 嘅效能。epp_boost 開啟後,kernel 最密每 10ms 檢查一次 core 嘅忙碌程度;去到至少 50%,就暫時將嗰粒 core 嘅 EPP 推去 performance,連續 300ms 冇再忙先回復原有設定。咁做保留硬件自行調節頻率嘅空間,亦避開全機長開 performance mode。對 handheld 特別重要,因為 CPU 同 GPU 食同一份功耗預算,盲目推高所有 CPU core,隨時搶走 GPU 可用嘅功率。

31.8% 聽落好勁,但要睇清楚係咩數

Vernet 喺 Steam Deck LCD、AMD P-State active mode 同 balance_performance EPP 下,用《Civilization VI》內置 graphics benchmark 做交錯 A/B 測試,每個設定跑六次。佢提交嘅數據顯示,忙碌 core 嘅中位頻率由 2.43GHz 升到 3.5GHz,1% low 提高 31.8%,p99 frame time 改善 4.1%;平均 FPS 同 p999 frame time 就冇明顯改變。 呢個結果幾有意思,因為佢示範咗平均 FPS 原地踏步,畫面仍然可以順啲。不過樣本得一部機、一款偏重單 thread 嘅遊戲,暫時唔可以套落其他 Ryzen APU、遊戲或 Linux distro。

「原來一直都係 driver」講得太盡

XDA 將件事包裝成 Proton 未必係元兇,方向有提醒作用,但結論推得太遠。今次只捉到 CPU frequency driver 同硬件負載判斷造成嘅一種 frame-time 問題。Proton 自己仍然牽涉 Wine compatibility、同步機制、DXVK 同 VKD3D-Proton;Mesa/RADV 會影響 shader compilation、GPU 排程同畫面輸出;VRAM 爆滿、asset streaming、遊戲引擎本身亦可以造成窒格。首次遇到新 shader 時突然停一停,同每幀等 GPU 後 CPU 回復頻率太慢,表面感覺相似,修法其實完全唔同。

玩家而家使唔使自行換 kernel?

一般 Steam Deck 玩家可以等。呢批改動截至 2026 年 8 月 8 日仍以 RFC PATCH 名義送上 kernel mailing list,代表設計仲等緊 review,未見進入正式 mainline kernel;提交資料亦冇提供耗電、續航或更廣泛遊戲測試。自行套 patch 要編譯 kernel、確認 AMD P-State active mode 同 MSR CPPC 支援,再用 amd_pstate.epp_boost=1 啟用,所得改善未必抵得過日後更新或 suspend 出問題嘅風險。用開正式 SteamOS 嘅玩家,等 Valve 或 distro 維護者整合會穩陣好多。

呢個 patch 最值得睇嘅地方

手提機嘅效能調校,唔可以淨係追平均 FPS 或長時間鎖高頻。遊戲 thread 嘅工作節奏本身就係忙一陣、等一陣,再趕住下一個 frame deadline;電源管理如果將呢啲短暫等待當成真正閒置,畫面就會間中遲到。epp_boost 用逐 core、短時間加速去配合呢種節奏,思路幾合理。下一步要睇 AMD kernel 工程師點 review,亦要等更多遊戲、Ryzen handheld 同電量測試,先知可唔可以重現同類改善。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook