Skip to content

Avoid inactive GPU and BIOS diagnostic recording - #765

Draft
mstan wants to merge 1 commit into
masterfrom
perf/diagnostic-overhead-20261024
Draft

mstan wants to merge 1 commit into
masterfrom
perf/diagnostic-overhead-20261024

Conversation

@mstan

@mstan mstan commented Oct 25, 2026

Copy link
Copy Markdown
Member

Ordinary gameplay currently starts a draw-census ring that can allocate 48 MiB and reads two guest camera values per primitive. BIOS dispatch also records forensic call history when debug tools are compiled out.

This change makes census capture explicitly armed through ws_census action=on and omits BIOS history under PSX_NO_DEBUG_TOOLS. Explicit census export, debug call history, functional drawing and scene classifiers remain available.

Merge gate: performance evidence required

Keep this PR draft and do not merge until matched built-runtime measurements substantiate a useful gain beyond measurement noise. If we cannot substantiate the gain, close the PR.

Use equivalent gameplay and identical settings on a stable host; record whole-process CPU work, frame times, actual game progress and audio health. Report measured memory savings separately. Avoided allocation capacity/read counts, passing tests and earlier owner playtest approval do not by themselves clear this gate.

No qualified FPS, frame-time or CPU improvement is currently claimed. Earlier campaign timings were host-contaminated and do not satisfy this requirement.

Validation

  • Current fetched master base: e7ed72736a12d82d3e1ed9c99ae93cb01930d554.
  • Windows GCC Release: 3/3 focused CTest checks pass (bios_hle_recording_test, gpu_census_test, gpu_textured_dot_nw_shift_exec_test).
  • Actual BIOS dispatch preserves caller state/time in both modes; no-debug recording performs zero forensic guest reads.
  • Real GP0 dispatch draws without allocating a census, then explicit capture exports CSV and stops recording when disarmed.

Scope is limited to these two diagnostic changes and their tests. Independent build fixes and experimental GTE/DMA/GL replacements are excluded.

Tracking: central Beads beads-wuhs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant