SteamOS performance regression decision tree
Scope
This flow identifies whether a regression is global, game-specific, scene-specific, transient shader work, power/thermal, storage, background activity, runtime/driver, display pacing, or instrumentation overhead.
Start safe
Restore the last known-good per-game profile and remove custom launch options, fixed clocks, TDP overrides, nested Gamescope, and extra overlays. Record game build, runtime, SteamOS/client, firmware, GPU driver/Mesa, display, power source, ambient temperature, and battery level.
Decision tree
- Every game regressed: compare OS/client/firmware, power profile, display mode, storage health/free space, and background downloads.
- One game regressed: compare game build, shader work, runtime, launcher, mods, and save/scene.
- Performance falls over time: inspect temperature, clocks, power, fan, battery/charger, and sustained frame time.
- Periodic spikes: separate shader compilation, asset streaming, storage, network, background jobs, and overlay logging.
- Average stable, motion poor: compare frame-time distribution, cap/refresh match, VRR, display path, and presentation mode.
- Only instrumented run regresses: reduce overlay/logging fields and retest the uninstrumented baseline.
Evidence to capture
Capture the same scene and duration with the Phase 5 MangoHud protocol. These commands add system context without changing tuning:
Record average FPS, 1% low, frame-time trace, GPU/CPU utilization and clocks, power, temperature, fan, battery/AC, cap, refresh, TDP, resolution, settings, and three-run variance.
Stop conditions
Stop load testing if temperature or battery behavior is abnormal, the device is damaged/swollen, storage/filesystem errors appear, the charger cannot hold state, or crashes affect multiple games after a system update. Preserve logs and escalate.
Restore baseline
Restore automatic clocks/power, original cap/refresh/resolution/settings/runtime, and one overlay or none. Stop downloads, reboot to a stable thermal state, repeat the original scene, and change only the variable supported by evidence.
Frequently asked questions
Is lower peak FPS enough to prove a regression?Is lower peak FPS enough to prove a regression?
Should I raise TDP first?Should I raise TDP first?
Sources
- MangoHud repository and logging documentation
- Valve Gamescope repository
- systemd journalctl reference
Version history
- 2026-07-15: Phase 6 measurable performance-regression and stop-condition tree.