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

  1. Every game regressed: compare OS/client/firmware, power profile, display mode, storage health/free space, and background downloads.
  2. One game regressed: compare game build, shader work, runtime, launcher, mods, and save/scene.
  3. Performance falls over time: inspect temperature, clocks, power, fan, battery/charger, and sustained frame time.
  4. Periodic spikes: separate shader compilation, asset streaming, storage, network, background jobs, and overlay logging.
  5. Average stable, motion poor: compare frame-time distribution, cap/refresh match, VRR, display path, and presentation mode.
  6. 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?
No. Repeat the same scene and compare average, 1% low, frame-time distribution, power, temperature, clocks, battery/AC state, and run variance.
Should I raise TDP first?
Should I raise TDP first?
No. First identify whether the limit is GPU, CPU, thermal, power, shader compilation, storage, background work, display pacing, or a changed game/runtime.

Sources

Version history

  • 2026-07-15: Phase 6 measurable performance-regression and stop-condition tree.