docs: prepare existing-profiler entry and settled measurement

This commit is contained in:
Erik 2026-09-05 12:16:33 +02:00
parent 1fbb504ee3
commit f545bc9262
2 changed files with 55 additions and 0 deletions

View file

@ -0,0 +1,40 @@
# #481 — existing-profiler diagnostic recipe (not executed)
Wegener's read-only trace, lead verified actual RenderingDiagnostics startup
flags, FrameProfiler boundary/allocation sampling, VulkanFrameGpuMeasurement
timestamp pairing and PerformanceTools summarizer. No instrumentation change.
After pending repairs integrate, use the same green Release, session-v10,
High/near4/far25/MSAA4/aniso16/A2C1/maxCompletions4 and1600x900 profile.
Before launch both clients absent/ACE9000 up; pause agent builds/tests. One
run-selfgate.ps1 invocation with -Label481-entry-profile (with the normal
space after the switch), -Route tools/overhaul-selfgate/route-481-entry-profile.txt,
-Session logs/s5-c5-session-v10.json, -TimeoutSeconds240. No client yet.
Fresh process environment: ACDREAM_DEVTOOLS=0; clear VK_INSTANCE_LAYERS,
VK_LAYER_ENABLES,VK_LAYER_VALIDATE_SYNC,ACDREAM_WB_DIAG; UI_PROBE_DUMP=0;
ACDREAM_FRAME_PROF=1, ACDREAM_FRAME_HISTORY=<unique absolute CSV path>.
Create its artifact directory without overwriting any earlier run. No
validation, screenshots, pack switches, resize or movement during samples.
The existing runner uses a real hidden Vulkan window/exact framebuffer:
controlled diagnostic, NOT the physical-display owner performance gate.
After graceful exit the existing CLI command is:
dotnet src/AcDream.Cli/bin/Release/net10.0/AcDream.Cli.dll summarize-frame-history
<CSV> <run/artifacts/world-lifecycle.checkpoints.jsonl> <run/client.log>
<unique summary.json>. CSV exports on profiler disposal; failed/missing
output cannot be called a measurement. The command accepts no portal markers.
Each checkpoint summarizes its PRECEDING5s. Two6s settled gaps exclude the
previous checkpoint's synchronous I/O from that window. CPU means time
between render boundaries (includes intervening pacing/present), GPU spans
resource/world/private before present. Missing GPU samples=-1, not0; inspect
sample counts. Allocations/frame are render-thread only; process allocation
rate uses whole checkpoint intervals. Observer overhead is not zero.
Verify actual settled uploads/bytes, composite warmup, pending retirements,
deferred completions/publications and worker/destination/control/unload/near/
far backlogs. World-visible alone does not prove these are empty. Report
initial-versus-settled CPU/GPU p50/p95/p99 and allocation/backlog differences,
without converting a single diagnostic into the capped/uncapped multi-scene
C2 or20-percent-regression gate. Validation-r2's64FPS is not this evidence.

View file

@ -0,0 +1,15 @@
# #481 initial visibility versus settled fixed-pose profiling, not full C2.
# Start profiler/history before launch; no validation, resize, movement, pack switch or screenshots.
checkpoint 481_script_start
wait world-ready 180000
wait world-visible 90000
checkpoint 481_first_visible
sleep 5000
checkpoint 481_entry_5s
sleep 40000
checkpoint 481_settle_start
sleep 6000
checkpoint 481_settled_a
sleep 6000
checkpoint 481_settled_b
close-client