Capture the authoritative capped, uncapped, and dense-Arwic routes on the physical AMD display path. Preserve the portal allocation, exception-storm, and repeated-Caul memory failures as MP1c's before-state while unblocking the prepared-asset cutover.
72 lines
3.5 KiB
Markdown
72 lines
3.5 KiB
Markdown
# Slice A corrected RDP baselines
|
||
|
||
**Date:** 2026-07-24
|
||
**Authority:** diagnostic only; these captures do not satisfy the physical-local
|
||
Slice A exit gate.
|
||
|
||
The corrected tooling was exercised over capped and uncapped nine-stop routes,
|
||
plus a pinned uncapped dense-Arwic sample. All runs reached the world, completed
|
||
their route, and disconnected gracefully. The final dense run was made after
|
||
binary provenance became part of every soak report: source and measured binary
|
||
were both commit `24f898c54d7c6547555a4402543b6a3cd7ced7f6`, the tracked source
|
||
tree was clean, and the report recorded an exact match.
|
||
|
||
The machine/display contract is defined in
|
||
[`2026-07-24-performance-reference-configuration.md`](2026-07-24-performance-reference-configuration.md).
|
||
The full sanitized figures and portal windows are in
|
||
[`2026-07-24-slice-a-rdp-baselines.json`](2026-07-24-slice-a-rdp-baselines.json).
|
||
Raw CSV, EventPipe, screenshot, and process logs are intentionally local,
|
||
untracked diagnostic artifacts.
|
||
|
||
## Headline measurements
|
||
|
||
| Capture | Frames | CPU p50 / p95 / p99 | GPU p50 / p95 / p99 | Frame-thread allocation p50 / max |
|
||
|---|---:|---:|---:|---:|
|
||
| Capped nine-stop | 17,400 | 31.240 / 31.868 / 33.032 ms | 3.626 / 5.826 / 6.807 ms | 31.6 KiB / 202.8 MiB |
|
||
| Uncapped nine-stop | 229,412 | 1.537 / 6.077 / 8.938 ms | 0.935 / 3.288 / 3.470 ms | 28.3 KiB / 206.3 MiB |
|
||
| Uncapped dense Arwic | 16,350 | 3.487 / 7.351 / 12.690 ms | 2.299 / 3.236 / 3.653 ms | 50.8 KiB / 31.7 MiB |
|
||
| Dense Arwic, stable 5 s | 925 | 4.802 / 7.422 / 8.281 ms | 2.711 / — / 3.242 ms | 36.8 KiB / 13.0 MiB |
|
||
|
||
The capped CPU distribution is the expected 32 ms RDP/pacing envelope, while
|
||
the GL timestamps show only 3.6–6.8 ms of ordinary GPU work. The corrected GPU
|
||
timer therefore no longer measures frame pacing as GPU submission time.
|
||
|
||
Portal materialization remains the dominant transient cost. The uncapped
|
||
Sawato materializations reached 206.3 MiB and 203.2 MiB of frame-thread
|
||
allocation in a single frame. Process-wide allocation averaged 48.5 MB/s over
|
||
the uncapped route, with 80 Gen-2 collections and a longest GC pause of
|
||
260 ms. This evidence keeps prepared-content work as the next architectural
|
||
priority.
|
||
|
||
## Observer effect
|
||
|
||
The dense-Arwic stationary sample was repeated without the process counter
|
||
observer. Enabling it changed CPU p50 by -1.4%, p95 by +2.9%, p99 by +2.5%,
|
||
GPU p50 by -0.6%, and frame-thread allocation p50 by -2.4%. Those differences
|
||
are within natural route variance, so the observer is suitable for directional
|
||
process-wide allocation and GC attribution.
|
||
|
||
## Contention attribution
|
||
|
||
The capped route recorded 5,994 contentions with stacks:
|
||
|
||
| Site | Count | Share |
|
||
|---|---:|---:|
|
||
| `DatDatabaseWrapper.TryGet` | 4,516 | 75.3% |
|
||
| `ObjectMeshManager.ProcessQueue` | 976 | 16.3% |
|
||
| `DecodedTextureCache.GetOrCreate` | 254 | 4.2% |
|
||
| `LandblockBuildFactory.Build` | 90 | 1.5% |
|
||
| `LiveEntityHydrationController.OnCreate` | 74 | 1.2% |
|
||
| `DatDatabaseWrapper.TryGetFileBytes` | 27 | 0.5% |
|
||
| Other | 57 | 1.0% |
|
||
|
||
This replaces speculation with a concrete ranking. It does not authorize
|
||
lock-shape changes yet; the prepared-content slices should first remove demand
|
||
from these paths and then the same capture must be repeated.
|
||
|
||
## Gate state
|
||
|
||
Slice A’s instrumentation and RDP validation are complete. The remaining exit
|
||
gate is a capped nine-stop, uncapped nine-stop, and pinned dense-Arwic capture
|
||
on the physical local AMD display path. Slice B is baseline-independent and may
|
||
proceed. Slice C remains blocked until the physical-local evidence is committed.
|