3.5 KiB
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-config.md.
The full sanitized figures and portal windows are in
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.