User-visible performance timings (GPU passes + CPU sections) for FPS bug reports #966

Closed
opened 2026-10-23 07:35:31 +00:00 by sky_line · 1 comment
Owner

Problem

When someone reports an FPS drop, we need the per-pass GPU timings and the CPU section timings from their machine. Today those only exist behind debug settings and in the log (the GPU timer lines, VKHitch / TIMELINE, the frame breakdowns), so getting usable numbers from a user takes back-and-forth.

Wanted

  1. A user-visible surface (e.g. a "Performance" floater reachable from the Help menu / the FPS display / Help > Report Bug) showing, live:
    • frame time split: CPU main thread, GPU, present / pacing wait; FPS and 1% lows;
    • the GPU pass timings (the existing GPU timers: G-buffer, shadows, RT, probes, lighting, GI / DI, weather, post, UI ...), sorted by cost, with a short plain-language name for each;
    • the top CPU sections (the existing frame-timer / hitch breakdown);
    • VRAM / RAM pressure state and the active quality tier, upscaler and render scale.
  2. Capture button: records N seconds, averages / percentiles, and produces a plain-text block a user can paste privately or attach -- with no PII (no names, locations, region or avatar identifiers; hardware info is fine).
  3. Bug reports: Help > Report Bug attaches the latest capture (or offers to take one) for performance reports, so FPS reports arrive with timings by default.
  4. Turning the timers on for the capture must not cost frames when the floater is closed (timers off / sampled only while open or capturing; GPU timer reads never block).

Test

  • Open the floater: live numbers update; closing it returns to zero timer overhead.
  • Capture 10 s in a busy place: the text block lists the costliest passes and sections and contains no avatar / region names or positions.
  • Report Bug with "performance" category includes the capture.
## Problem When someone reports an FPS drop, we need the per-pass GPU timings and the CPU section timings from their machine. Today those only exist behind debug settings and in the log (the GPU timer lines, `VKHitch` / `TIMELINE`, the frame breakdowns), so getting usable numbers from a user takes back-and-forth. ## Wanted 1. **A user-visible surface** (e.g. a "Performance" floater reachable from the Help menu / the FPS display / Help > Report Bug) showing, live: - frame time split: CPU main thread, GPU, present / pacing wait; FPS and 1% lows; - the GPU pass timings (the existing GPU timers: G-buffer, shadows, RT, probes, lighting, GI / DI, weather, post, UI ...), sorted by cost, with a short plain-language name for each; - the top CPU sections (the existing frame-timer / hitch breakdown); - VRAM / RAM pressure state and the active quality tier, upscaler and render scale. 2. **Capture button:** records N seconds, averages / percentiles, and produces a plain-text block a user can paste privately or attach -- with no PII (no names, locations, region or avatar identifiers; hardware info is fine). 3. **Bug reports:** Help > Report Bug attaches the latest capture (or offers to take one) for performance reports, so FPS reports arrive with timings by default. 4. Turning the timers on for the capture must not cost frames when the floater is closed (timers off / sampled only while open or capturing; GPU timer reads never block). ## Test - Open the floater: live numbers update; closing it returns to zero timer overhead. - Capture 10 s in a busy place: the text block lists the costliest passes and sections and contains no avatar / region names or positions. - Report Bug with "performance" category includes the capture.
sky_line added this to the Slipstream project 2026-10-23 07:35:31 +00:00
Author
Owner

Fixed in 1.4.1 (8b8acbe4b9). Reopen if you still see it.

Fixed in 1.4.1 (8b8acbe4b9). Reopen if you still see it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#966
No description provided.