From 94a9f4537a11a93a4873dd239757de66d64ab042 Mon Sep 17 00:00:00 2001 From: Erik Date: Sun, 23 Aug 2026 05:25:47 +0200 Subject: [PATCH] =?UTF-8?q?docs(render):=20VM7=20closeout=20=E2=80=94=20pe?= =?UTF-8?q?rformance=20matrix=20PASS=20on=20fe56b6cf;=20#422=20row=20updat?= =?UTF-8?q?ed=20(Campaign=20VM)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- .../2026-08-23-vm7-automated-closeout.md | 15 ++++++++-- ...atmospheric-performance-matrix-fe56b6cf.md | 29 +++++++++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 docs/research/evidence/vm7/atmospheric-performance-matrix-fe56b6cf.md diff --git a/docs/research/2026-08-23-vm7-automated-closeout.md b/docs/research/2026-08-23-vm7-automated-closeout.md index b71b5d4c..3eedc794 100644 --- a/docs/research/2026-08-23-vm7-automated-closeout.md +++ b/docs/research/2026-08-23-vm7-automated-closeout.md @@ -1,7 +1,7 @@ # Campaign VM — VM7 automated closeout **Date:** 2026-08-23 · **Binary:** `99d5b2a6` (source = binary, gate-verified) · -**Status:** every automated VM7 row PASSED; the owner's visual gates (VM3, +**Status:** every automated VM7 row PASSED (the matrix on its second attempt — see #422); the owner's visual gates (VM3, VM6, VM7 matrix) and the merge to main are OWED and were not attempted. Every row names its command, lane and artifact (the campaign's closeout rule). @@ -12,7 +12,7 @@ Every row names its command, lane and artifact (the campaign's closeout rule). | Connected lifecycle/reconnect route, pack off | `tools/run-connected-world-lifecycle-gate.ps1 -SkipBuild` | Live (local ACE, `+Acdream`) | **PASS**; warning: 25 expected world-edge landblock misses (capped) | `logs/connected-world-gate-20260823-043414/report.json` | | Connected lifecycle/reconnect route, High pack | `… -RenderPackPreset high` | Live | **PASS**; same expected warning | `logs/connected-world-gate-20260823-043951/report.json` | | VM0 invariance on the final binary | `tools/run-offline-pixel-gate.ps1 -RenderPackPreset retail -BuildingDetailTextures $false -Uncapped` for HEAD and `-ExeOverride `, two captures each | offline, isolated settings, one tool | **robust diff 5–10 px** (all in the lifestone band, VM0's known dynamic); whole-frame mean \|Δ\| 0.0075 = the repeat floor | `docs/research/evidence/vm7/1f151242-pack-off-vs-base-normals-robust.png` | -| #422 characterisation | `tools/i422/loop-debugheap.ps1 -Runs 24` (under cdb, debug heap) + 16 attached runs | offline High, Release | **0 / 40 faults** (P ≈ 0.5 % at the filed 1-in-8 rate) — not reproducible on this binary; watch item | `docs/research/evidence/vm7/i422-*.txt`; `docs/ISSUES.md` #422 | +| #422 characterisation | `tools/i422/loop-debugheap.ps1` (24 High + 6 retail-1080p runs under the debug heap), 16 attached runs, `tools/i422/loop-plain.ps1` (10 plain retail-1080p runs, rebuild first) | offline, Release | **1 fault in ~57 runs** — the one hit was the matrix's retail row (pack OFF, first launch after a build); 0/46 under a debugger, 0/10 plain; no WER/event trace → no stack yet. Pack-independent exit-time fault, ~2 %; owner's call whether it blocks the merge | `docs/research/evidence/vm7/i422-*.txt`; `docs/ISSUES.md` #422 | | AR performance matrix, changed presets | `tools/run-atmospheric-performance-matrix.ps1 -PresetSet retail,low,medium,high -ResolutionSet 1920x1080 -FramePacing uncapped -SkipBuild` | offline, 45 s warm-up | see the "Performance matrix" section below | `artifacts/vm7-matrix/atmospheric-performance-matrix.md` | The `base+normals` reference is main `6c79d35c` + the two patches recorded at @@ -22,7 +22,16 @@ the old tool (VM0 §"three methods that did not work", method 1). ## Performance matrix -(filled from `artifacts/vm7-matrix/atmospheric-performance-matrix.md`) +`tools/run-atmospheric-performance-matrix.ps1 -Out artifacts/vm7-matrix-2 -PresetSet retail,low,medium,high -ResolutionSet 1920x1080 -FramePacing uncapped -SkipBuild` on `fe56b6cf`, RX 9070 XT, 45 s warm-up, 2048-sample windows — **RESULT=PASS**; every pack preset inside its declared ceiling (CPU p50 0.15/0.25/0.35 ms, GPU p50 2/3.25/4.5 ms, resident 64/128/256 MiB). Copy: `evidence/vm7/atmospheric-performance-matrix-fe56b6cf.md`. + +| Preset | CPU p50 / p95 / p99 ms | Receiver p50 / p95 / p99 ms | GPU p50 / p95 / p99 ms | Resident MiB | Result | +|---|---:|---:|---:|---:|---| +| retail | 0 / 0 / 0 | 0 / 0 / 0 | 0 / 0 / 0 | 0 | PASS | +| low | 0.125 / 0.14 / 0.163 | 2.577 / 2.664 / 2.92 | 0.921 / 1.025 / 1.029 | 40.219 | PASS | +| medium | 0.134 / 0.154 / 0.189 | 2.557 / 2.661 / 2.964 | 1.033 / 1.06 / 1.17 | 74.09 | PASS | +| high | 0.135 / 0.147 / 0.174 | 2.413 / 2.469 / 2.835 | 1.235 / 1.277 / 1.295 | 114.056 | PASS | + +The first attempt (`artifacts/vm7-matrix`, `621a0edf`) FAILED on its retail row: the client exited `-1073740940` (#422) on the first launch after a build — the pack presets of that attempt passed with the same numbers. That occurrence is what re-characterised #422 as pack-independent (see the issue). ## Register, roadmap, memory diff --git a/docs/research/evidence/vm7/atmospheric-performance-matrix-fe56b6cf.md b/docs/research/evidence/vm7/atmospheric-performance-matrix-fe56b6cf.md new file mode 100644 index 00000000..c1427517 --- /dev/null +++ b/docs/research/evidence/vm7/atmospheric-performance-matrix-fe56b6cf.md @@ -0,0 +1,29 @@ +# Atmospheric Rendering Performance Matrix + +Scope: offline fixed-scene pack diagnostics. Final receiver CPU authority requires connected identical pack-off/on A/B. + +- Result: **PASS** +- Source commit: `fe56b6cf32c5ec0fc46fc2b5c1645d39098c1d60` +- Binary commit: `fe56b6cf32c5ec0fc46fc2b5c1645d39098c1d60` (source match: True) +- Vulkan adapter: `AMD Radeon RX 9070 XT|vendor 0x1002, device 0x7550, driver 2.0.395 (raw 0x0080018B)|0` +- Frame pacing: `uncapped` +- Pins: warmup 45000 ms; day group 0; world day fraction 0.5; sky phase 0 s; MSAA 0; orbit 0 m +- Evidence window: explicit presets reset diagnostics after warmup; Auto preserves its hysteresis-owned rolling window. Every active row waits for a complete 2048-sample CPU / receiver / GPU window (300000 ms timeout). + +## Declared ceilings + +| Preset | CPU p50 / p99 (ms) | GPU p50 / p99 at 1080p (ms) | Resident MiB | +|---|---:|---:|---:| +| low | 0.15 / 0.5 | 2 / 3 | 64 | +| medium | 0.25 / 0.75 | 3.25 / 4.5 | 128 | +| high | 0.35 / 1 | 4.5 / 6 | 256 | + +## Rows + +| Pacing | Preset | Resolution | Availability | CPU / receiver / GPU samples | CPU p50 / p95 / p99 ms | Receiver p50 / p95 / p99 ms | GPU p50 / p95 / p99 ms | Resident MiB | Process WS / private MiB | Casters | Cascades | Draw / dispatch | Framebuffer / paired-default SHA-256 | Result | +|---|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|---| +| uncapped | retail | 1920x1080 | Retail | 0 / 0 / 0 | 0 / 0 / 0 | 0 / 0 / 0 | 0 / 0 / 0 | 0 | 1390.32 / 1606.82 | 0 | 0 | 0 / 0 | 116f897ad43404d6b0647f02025565435d19459ea90b0da182feac5d18482b36 / n/a | PASS | +| uncapped | low | 1920x1080 | Active | 2048 / 2048 / 2048 | 0.125 / 0.14 / 0.163 | 2.577 / 2.664 / 2.92 | 0.921 / 1.025 / 1.029 | 40.219 | 1476.875 / 1696.25 | 9498 | 2 | 11 / 0 | d50153b9f0b4a4ef901240bb9839fa233c253b660de97591c0c1ece8fefac850 / 116f897ad43404d6b0647f02025565435d19459ea90b0da182feac5d18482b36 | PASS | +| uncapped | medium | 1920x1080 | Active | 2048 / 2048 / 2048 | 0.134 / 0.154 / 0.189 | 2.557 / 2.661 / 2.964 | 1.033 / 1.06 / 1.17 | 74.09 | 1546.066 / 1802.129 | 9498 | 3 | 21 / 0 | 60f2f40a08c659b3d49b9902f82bd046b80947670768a4462af1da766964e525 / 116f897ad43404d6b0647f02025565435d19459ea90b0da182feac5d18482b36 | PASS | +| uncapped | high | 1920x1080 | Active | 2048 / 2048 / 2048 | 0.135 / 0.147 / 0.174 | 2.413 / 2.469 / 2.835 | 1.235 / 1.277 / 1.295 | 114.056 | 1472.148 / 1773.285 | 9498 | 4 | 26 / 0 | df93fda4127969c025dd51199fda74e25e837ebfb0b66a4a89884dc0a7c87892 / 116f897ad43404d6b0647f02025565435d19459ea90b0da182feac5d18482b36 | PASS | +