docs #418: lead-review refinement — the ~31 ms period is one landblock's update-thread publication cost
The identical flat 32/s across the serial and pooled binaries points at a single ~31 ms indivisible per-landblock admission on the update thread (one admission per frame under the 2 ms floor, frame stretched to ~31 ms, ~32 fps x 1/frame = 32/s); the old serial builder producing at the same ~31 ms/block masked it. Predicts ~31 ms tunnel frame time; fix shape is splitting/off-threading the publication cost, not budgets (disproved twice). Verify the frame-time prediction first next session. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
39967e78bd
commit
45f379560a
1 changed files with 17 additions and 0 deletions
|
|
@ -55,6 +55,23 @@ builds off the critical path (23 s → 0.2 s) and is quality-neutral
|
|||
preserved; a pool of 1 reproduces the old serial behavior,
|
||||
regression-tested in `LandblockStreamerPoolTests`).
|
||||
|
||||
**Lead-review refinement (2026-08-17, same day):** the identical ~31 ms
|
||||
period across BOTH configurations is unlikely to be a coincidence of two
|
||||
different limiters — the sharper hypothesis is that ONE ADMITTED
|
||||
LANDBLOCK'S update-thread publication itself costs ~31 ms (GPU upload +
|
||||
registration + typed-budget accounting as one indivisible admission).
|
||||
The 2 ms `MaxUpdateMilliseconds` floor guarantees exactly one admission
|
||||
per frame; that admission stretches the frame to ~31 ms; the hold
|
||||
therefore runs at ~32 fps and 1 admission/frame × 32 fps = the measured
|
||||
flat 32/s — in the OLD binary the serial builder happened to produce at
|
||||
the same ~31 ms/block, which masked the admission cost entirely. This
|
||||
predicts: (a) tunnel frame time during the hold is ~31 ms (measurable
|
||||
from the existing frame profiler), and (b) the fix is splitting or
|
||||
off-threading the per-landblock publication cost — NOT raising budgets
|
||||
(already disproved twice). `MaxCompletionsPerFrame = 4` (the quality
|
||||
line) is a profile SCALE of the same env-tunable options, so it is also
|
||||
already exonerated. Verify (a) first next session.
|
||||
|
||||
## #417 — World ambience keeps playing (and re-firing) on the character-select screen after the in-world logoff
|
||||
|
||||
**Status:** ✅ FIXED 2026-08-17 (logout-audio round; fix + tests in the same
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue