wip(assembler): round S6 -- in-game cold view counted; workers mostly idle, apply cap not the floor
Direct per-tile trace on the BuildHost actor (owner plan, 2,578 keys): full set 17.4 s legacy; gated coarse-first (after the 9-tile walkable ring) 11.7 s with the ring still at 0.63 s, but full LOD0 slips 2.3 -> 10.2 s. Startup apply boost changed nothing (0.4%). 37.6 worker-s over 17.4 s on 10 slots = ~3.3 busy: the floor is admission/work supply. S5's 251 ms staircase was the trace sampler. Fixed CVar parsing in headless BeginPlay and the 60 m/s crossing instrument. All three knobs stay opt-in. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
1 parent
c0596c5f24
commit
b9c13c37c0
11 files changed
+903
-31
No files matched your search
@@ -1476,6 +1476,43 @@ rather than proof of screen presentation. Keep S5 opt-in until an owner-visible
|
||||
three gates and closes that gap. Full results and limits are in
|
||||
`Standalone/Research/WorldAssemblerM3/Round9/REPORT.md`.
|
||||
|
||||
### 8.27 Cold-view throughput trace and gated coarse admission — World Assembler S6 / M3 Round 10
|
||||
|
||||
`UpdateChunksAroundPosition` samples residency at intervals of at least 0.25 seconds. A `streaming_sample`
|
||||
timestamp is therefore a quantized observation, not a tile-completion timestamp or an admission throttle.
|
||||
Use the direct per-tile apply records for completion time, and `apply_frame` records for the game-thread
|
||||
budget, queued-result estimate and running-worker count. `collision_ready` measures the asynchronous
|
||||
RealtimeMesh submit-to-body-update interval; it is not an isolated Chaos CPU-cook timer.
|
||||
|
||||
The staged SurfaceWorld actor trace contained 2,578 desired keys. With legacy order and the authored
|
||||
4-visible-mesh / 2 ms apply budget, the full desired set became resident at 17.412 s and the required
|
||||
collision ring became walkable at 0.632 s. `voxel.StreamingCoarseFirst=1` with
|
||||
`voxel.StreamingDynamicNearReserve=1` completed the same set at 11.704 s while the ring gate remained
|
||||
0.627 s. Coarse admissions begin only after the nine-tile walkable gate. This reduces measured cold
|
||||
residency by about one third on the staged plan, but null-RHI residency does not prove rendered
|
||||
enclosure. Keep coarse-first opt-in until that view is checked in a rendered owner-plan run.
|
||||
|
||||
The separate `voxel.StreamingStartupApplyBoost` switch stays default-off. At `1`, it temporarily allows
|
||||
12 visible mesh submissions / 14 ms while the initial desired set and walkable ring are incomplete,
|
||||
with a 30 second ceiling; at `0`, the authored budget is unchanged. On the matched legacy-order test,
|
||||
the boost changed full-set readiness from 17.412 s to 17.346 s and removed count-cap frames, but did
|
||||
not improve end-to-end residency. Keep the normal 4 / 2 ms guard for play.
|
||||
|
||||
The trace found the shared worker pool was not saturated: the 10-slot idle estimate was about 132
|
||||
slot-seconds on legacy order and 73 on gated coarse-first, while game-thread tile applies totaled only
|
||||
about 0.24 seconds during cold residency. Results waited in the result queue, and some frames reached
|
||||
the four-mesh cap, but expanding the apply budget alone did not move the wall clock. The remaining
|
||||
floor is worker-side work supply/admission; this trace does not isolate why available worker slots
|
||||
stay idle. The 1.57 s target remains unmet; the headless trace is not a render-time measurement.
|
||||
|
||||
The report records per-LOD worker, queue, result-queue and apply totals, collision latency, frame
|
||||
percentiles, hashes, regressions and the command lines. The standalone 60 m/s viewer now counts
|
||||
forward +Y center crossings across multi-chunk deltas; that route reports valid crossing deltas, but
|
||||
its latency gate still fails. These are scheduling and instrumentation changes only: deterministic
|
||||
W1/W8/W16 world and LOD hashes are unchanged, as are `Epoch`, cancellation, `ModsLock`, MPSC queue,
|
||||
shutdown-drain and game-thread UObject-creation rules. See
|
||||
[`Standalone/Research/WorldAssemblerM3/Round10/REPORT.md`](Standalone/Research/WorldAssemblerM3/Round10/REPORT.md).
|
||||
|
||||
## 9. Multiplayer model (listen-server first, dedicated-friendly)
|
||||
|
||||
> **Status: transport is DESIGN ONLY — nothing is networked in-tree yet** (no `Replicated`/`HasAuthority`/RPCs; a
|
||||
|
||||
Reference in new issue
Block a user