feat(pipeline): MP0 - FrameProfEnabled flag + GPU TimeElapsed ring
RenderingDiagnostics.FrameProfEnabled is the master toggle for the upcoming permanent frame profiler (ACDREAM_FRAME_PROF=1, runtime mirror via DebugVM.FrameProf). GpuFrameTimer wraps a depth-4 ring of TimeElapsed queries for whole-frame GPU time, mirroring WbDrawDispatcher's query idiom (including the #125 never-begun-slot guard). Caller must not run this while ACDREAM_WB_DIAG=1 owns TimeElapsed queries — GL forbids nested TimeElapsed queries. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
7d74c68c60
commit
0a5f7d4924
2 changed files with 104 additions and 0 deletions
|
|
@ -567,4 +567,21 @@ public static class RenderingDiagnostics
|
|||
/// </summary>
|
||||
public static bool ShouldRenderIndoor(uint playerCellId, bool renderRootResolved)
|
||||
=> renderRootResolved && IsEnvCellId(playerCellId);
|
||||
|
||||
/// <summary>
|
||||
/// MP0 (2026-07-05) — master toggle for the permanent frame profiler
|
||||
/// (<c>AcDream.App.Diagnostics.FrameProfiler</c>): CPU frame time
|
||||
/// (swap-to-swap), whole-frame GPU time, per-stage CPU attribution,
|
||||
/// per-frame allocation counters, reported as one <c>[frame-prof]</c>
|
||||
/// line every ~5 s. Permanent apparatus (every MP-track gate reads it) —
|
||||
/// do NOT strip with session probes. The whole-frame GPU query is
|
||||
/// self-disabled while <c>ACDREAM_WB_DIAG=1</c> (GL forbids nested
|
||||
/// TimeElapsed queries; WbDrawDispatcher owns per-pass queries under
|
||||
/// that flag — the 2026-06-23 "separate flags" measurement lesson).
|
||||
/// Initial state from <c>ACDREAM_FRAME_PROF=1</c>; runtime-toggleable
|
||||
/// via the DebugPanel mirror (<c>DebugVM.FrameProf</c>).
|
||||
/// Spec: docs/superpowers/specs/2026-07-05-modern-pipeline-design.md §5.
|
||||
/// </summary>
|
||||
public static bool FrameProfEnabled { get; set; } =
|
||||
Environment.GetEnvironmentVariable("ACDREAM_FRAME_PROF") == "1";
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue