docs(render): close unified residency slice
This commit is contained in:
parent
1853a57c12
commit
66690805c5
8 changed files with 192 additions and 5 deletions
119
docs/research/2026-07-24-slice-d-unified-residency-report.md
Normal file
119
docs/research/2026-07-24-slice-d-unified-residency-report.md
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
# Modern Runtime Slice D — Unified Residency Report
|
||||
|
||||
**Date:** 2026-07-24
|
||||
**Exact source/binary:** `1853a57c12ee16f8d1d2c41cca60851a4bd89de6`
|
||||
**Configuration:** Release, physical local AMD display, 2560 × 1440
|
||||
**Result:** PASS
|
||||
|
||||
## Scope
|
||||
|
||||
Slice D did not replace the renderer's specialized physical caches or alter
|
||||
visual quality. It placed their limits and exact occupancy behind one typed
|
||||
policy/diagnostic ledger, added generation-safe logical identity and leases,
|
||||
bounded the previously unbounded animation and retained-alpha-scratch owners,
|
||||
and made decoded audio part of the same accounting model.
|
||||
|
||||
The final gate exercised the exact D4 binary through:
|
||||
|
||||
- capped Caul → Sawato → Rynthid → Aerlinthe → Sawato → Holtburg → Caul →
|
||||
Sawato → Caul;
|
||||
- the same nine-stop route uncapped;
|
||||
- pinned dense Arwic uncapped;
|
||||
- fixed-camera screenshots at every canonical checkpoint;
|
||||
- graceful character logoff and transport disconnect.
|
||||
|
||||
Raw JSON, CSV, PNG, trace, and frame-history artifacts remain in the ignored
|
||||
local `logs/` tree:
|
||||
|
||||
- `connected-r6-soak-20260724-164203.*`
|
||||
- `connected-r6-soak-20260724-165143.*`
|
||||
- `connected-dense-town-20260724-170034.*`
|
||||
|
||||
## Connected results
|
||||
|
||||
| Route | Result | Elapsed | Failures | Warnings | Graceful |
|
||||
|---|---:|---:|---:|---:|---:|
|
||||
| Capped nine-stop | PASS | 514.308 s | 0 | 9 | yes |
|
||||
| Uncapped nine-stop | PASS | 508.793 s | 0 | 11 | yes |
|
||||
| Dense Arwic uncapped | PASS | 67.570 s | 0 | 1 | yes |
|
||||
|
||||
Warnings were expected authoritative population changes, known VFX
|
||||
diagnostics, and empty world-edge landblocks. No warning represented a
|
||||
residency, reveal-readiness, rendering, or shutdown failure.
|
||||
|
||||
### Frame cost
|
||||
|
||||
The values below are turn-window p95 CPU/GPU milliseconds. Lower means more
|
||||
frame time remains for other work.
|
||||
|
||||
| Destination | Capped CPU / GPU | Uncapped CPU / GPU |
|
||||
|---|---:|---:|
|
||||
| Caul first | 8.0 / 3.6 | 7.5 / 3.2 |
|
||||
| Sawato first | 4.6 / 1.7 | 2.1 / 1.3 |
|
||||
| Rynthid | 4.6 / 1.8 | 2.4 / 1.5 |
|
||||
| Aerlinthe | 4.6 / 2.2 | 2.1 / 1.4 |
|
||||
| Sawato revisit | 4.6 / 1.8 | 1.6 / 0.9 |
|
||||
| Holtburg | 4.7 / 2.1 | 3.7 / 2.1 |
|
||||
| Caul return | 5.4 / 3.1 | 6.0 / 3.2 |
|
||||
| Sawato plateau | 4.6 / 1.3 | 1.7 / 1.0 |
|
||||
| Caul plateau | 8.4 / 3.4 | 7.0 / 3.3 |
|
||||
|
||||
Pinned dense Arwic, with 15,530 entities and 111 animations, measured
|
||||
5.4 ms CPU p95 and 3.0 ms GPU p95 while turning. These measurements confirm
|
||||
that the connected route is normally CPU-limited rather than GPU-limited.
|
||||
They are evidence for the explicit Slice F/G approval decision, not permission
|
||||
to begin that deferred ECS work.
|
||||
|
||||
## Residency plateau
|
||||
|
||||
The capped run's aggregate ledger is summarized below. CPU excludes the
|
||||
prepared package's clean memory-mapped address space; GPU is cache-attributed
|
||||
physical residence, not every framebuffer/shader/UI allocation tracked by the
|
||||
independent process-wide GPU tracker.
|
||||
|
||||
| Checkpoint | Committed CPU | Physical GPU | Animations | Alpha scratch | Retiring |
|
||||
|---|---:|---:|---:|---:|---:|
|
||||
| Caul first | 36.8 MiB | 185.1 MiB | 26 | 8.10 MiB | 0 |
|
||||
| Sawato first | 39.4 MiB | 247.1 MiB | 33 | 1.87 MiB | 0 |
|
||||
| Rynthid | 23.3 MiB | 277.2 MiB | 39 | 2.62 MiB | 0 |
|
||||
| Aerlinthe | 39.6 MiB | 277.3 MiB | 43 | 3.97 MiB | 0 |
|
||||
| Sawato revisit | 30.3 MiB | 277.3 MiB | 43 | 3.97 MiB | 0 |
|
||||
| Holtburg | 39.4 MiB | 347.0 MiB | 50 | 4.70 MiB | 0 |
|
||||
| Caul return | 50.3 MiB | 355.0 MiB | 51 | 8.54 MiB | 0 |
|
||||
| Sawato plateau | 36.1 MiB | 363.0 MiB | 55 | 2.28 MiB | 0 |
|
||||
| Caul plateau | 38.5 MiB | 335.1 MiB | 55 | 8.53 MiB | 0 |
|
||||
|
||||
The third Caul visit used less cache-attributed CPU and GPU residence than the
|
||||
second. Parsed-animation residence stopped at 55 entries, retained alpha
|
||||
scratch remained below its 16 MiB aggregate budget, staged and retiring bytes
|
||||
were zero at every canonical checkpoint, and all reported owners stayed within
|
||||
their configured limits.
|
||||
|
||||
Process working set and private bytes are intentionally not substituted for
|
||||
these ownership facts. The 27.53 GiB prepared package is memory mapped; Windows
|
||||
counts touched clean file-backed pages in working set even though they are
|
||||
discardable and are not committed cache ownership. The uncapped run ended at
|
||||
1,776.5 MiB working set and 1,543.8 MiB private bytes after warming all nine
|
||||
destinations. Slice E still owns the remaining portal publication/retirement
|
||||
allocation and frame-transaction work.
|
||||
|
||||
## Automated gates
|
||||
|
||||
- Typed transition, cancellation, failure, owner-reuse, and stale-generation
|
||||
conformance tests pass.
|
||||
- Every bounded domain has deterministic forced-pressure coverage.
|
||||
- Physical cache tests prove eviction and fence-delayed release.
|
||||
- All-domain teardown converges to zero reported charge.
|
||||
- Release build passes.
|
||||
- Complete Release suite passes: 8,111 tests, 5 intentional skips.
|
||||
- Connected fixed-camera screenshots passed the existing harness comparisons;
|
||||
Slice D introduced no visible-frame change requiring a new subjective gate.
|
||||
|
||||
## Conclusion
|
||||
|
||||
Slice D's policy and acceptance gates are complete. Runtime cache memory is now
|
||||
finite, attributable, generation-safe, and pressure-tested without reducing
|
||||
view distance, particle distance, texture quality, or retail presentation.
|
||||
Slice E is the next approved step: spread portal publication and retirement
|
||||
over explicit per-frame cost budgets while keeping retired objects immediately
|
||||
inactive and destination reveal correctness exact.
|
||||
Loading…
Add table
Add a link
Reference in a new issue