pc-perf-audit - 可量測的 PC 效能稽核,適用於任何 PC
來自一台真實機器(Ryzen 7 5700X + RTX 2060,Valorant 競技模式)數月工作的精華。適用於任何遊戲、任何 CPU(Intel/AMD)和任何 GPU(NVIDIA/AMD/Intel): 方法論與平台無關;依遊戲而異的部分(執行檔、設定、紀錄、反作弊、問題場景)放在 references/jogos.md。這裡的核心是方法和已經量測過的目錄;那台機器的數字只是範例,不是給其他機器的配方。當範例提到 Valorant 時,請將其視為「一個遊戲的例子」。
比任何調校都重要的規則
- 你無權決定什麼對使用者最好。你只負責建構測試。 提出假設、進行可逆變更、讓他玩遊戲、你收集 verdict。
- 兩種 verdict,絕不混淆:
- 可量測的(幀時間、1% low、微卡數、延遲、穩定性):由數字決定。
- 可主觀判斷的(清晰度、對比度、聲音、「手感」、可見度):每次只改一項,由使用者本人決定。將兩者分開報告。
- 一次只變一個變數。單次測試不能決定任何事情。 最少兩次測試,拋棄暖機階段,觀察每分鐘的偏差,而不只是平均值。
- 沒超過基線?就還原。 視覺上的提升不能以犧牲幀時間為代價(除非使用者明確要求,即便如此也要量測並報告代價)。
- 始終優先選擇不增加開銷的路徑。 在提議任何會消耗 CPU/GPU/延遲/風險的調整前,先在更接近影片輸出或免費的層級尋找相同效果(例如:用面板的數位亮度取代逐幀濾鏡;在 GPU 上縮放而非監視器;用遊戲內建幀率限制器取代驅動程式限制器;關閉應用程式而非修改其優先權)。
- 永遠不要下「這台機器已盡全力」的結論。 「瓶頸在哪裡」和「能讓它跑得更快嗎」是兩個不同的問題:序列化程式碼需要更高的有效時脈、更低的記憶體延遲和更少的快取競爭才能跑得更快。
- 先有證據,再下斷言。 合理的理論已經讓多次測試白費功夫。不要將假設當作結果呈現,未經量測不得宣稱有提升。
- 儀器本身也是一種負載。 量測工具、收集器、監控軟體、疊加層,以及代理器本身(Claude、終端機、PowerShell)都會消耗 CPU。在進行數據擷取時:請勿使用該台機器。
- 當量測結果與使用者的感受連續數天不一致時,優先懷疑量測結果,而非他的感知。 這種情況已發生 4 次(詳見
references/armadilhas.md)。 - 僅確認有風險或不可逆的變更(韌體、BIOS、安全性、刪除資料)。其他部分:讓他選擇,用一句話說明原因,然後繼續。
- 可逆性: 在任何變更前,記錄原始值以及復原命令。不要進行會留下痕跡的模擬操作;模擬不應寫入磁碟。
階段(請依序進行;每個階段都有輸出條件)
階段 0 - 設定檔與目標(簡短訪談)
一次問完(使用 AskUserQuestion,不要進行長時間對話):
- 主要的遊戲、模式(競技/休閒)、目標(目標 FPS、螢幕更新率)。為每個遊戲填寫
references/jogos.md的設定檔(執行檔、API、引擎、設定、紀錄、反作弊、測試模式)。 - 症狀:微卡頓、開火時掉幀、完全凍結、藍白畫面、音訊中斷、輸入延遲、畫面閃爍/撕裂、黑畫面。發生在哪個分鐘/地圖/時刻?(鎖定擷取範圍)
- 使用者的不可妥協項(不得更改或爭論):靈敏度、DPI、解析度、畫面拉伸模式、準心、數位亮度、他需要開啟的應用程式(例如 Discord)。
- 他已經嘗試過什麼、什麼時候感覺好/壞。是否有過「完美」的一天?何時?
- 遊戲的反作弊系統(Vanguard, EAC, BattlEye, FACEIT):會限制親和性、優先權、疊加層注入以及第三方驅動程式。請參閱
references/catalogo-alavancas.md第 11 節。 輸出: 將設定檔寫入日誌(模板在references/template-diario.md)。
階段 1 - 盤點(唯讀)
執行 scripts/inventario.ps1 -Saida <pasta>(PowerShell 5.1,建議以管理員身份執行;若無管理員權限,部分欄位會是空的,腳本會發出警告)。它會收集 CPU、GPU、RAM(實際速度 vs 標稱速度、電壓)、BIOS/主機板、作業系統、電源計畫與 EPP、MPO、HAGS、VBS/HVCI、遊戲模式、GameDVR、Secure Boot、Defender、更新服務、網卡、硬碟、螢幕、解析度/更新率、啟動程式、服務與第三方程序、已知疊加層,以及事件 6008/1001/WHEA 的計數。讀取 inventario.txt 並分類平台:
CPU: AMD Zen2/3/4/5 (X3D?) | Intel Core 混合架構 (P+E) | Intel Core 非混合架構、
GPU: NVIDIA | AMD | Intel Arc | 內顯。這將決定目錄中要參考的章節。
輸出: 日誌中「項目 -> 數值 -> 是否正常? -> 假設」的表格。目前仍不做任何變更。
階段 2 - 環境衛生(遊戲期間運行的程式)
目標:建立一個已知且乾淨的遊戲環境。使用盤點結果 + Get-Process。
- 列出背景中消耗 CPU 的項目(瀏覽器、啟動器、雲端同步、更新程式、疊加層、RGB 軟體、錄影軟體、代理器本身)。區分為:關閉、阻止啟動、保留(由使用者決定)。
- 優先選擇阻止啟動(StartupApproved、原則、Store 應用程式的背景權限),而非每隔幾分鐘就終止一次。檢查你清單上的項目是否確實對應到處理程序名稱(一個從未匹配到
WhatsApp.Root的'WhatsApp'曾存活了 17 天)。 - 會自行重新啟動的更新程式/服務(Windows Update、廠商更新程式):決定抑制方式,並確認抑制效果能持續(請參閱陷阱:安裝程式會重新建立工作/服務)。
- 會注入 DLL 到
Present的疊加層(RTSS/Afterburner OSD, Discord overlay, Steam, GeForce, Medal, OBS hook):開銷雖小,但位於渲染執行緒。列出它們,不要在使用者不知情的情況下終止;量測其影響為可選(在這台機器上,並未證實有明顯提升)。 輸出: