perf(streaming): reserve destination reveal capacity
Join destination scheduling to the canonical reveal generation, protect its share across every typed frame-budget dimension, and prevent stale work from clearing a replacement reservation. Remove forced incomplete materialization and project retail's centered portal wait cue while the authored tunnel remains active. Tests: Release build clean; 91 focused reservation/reveal tests; full solution 8,158 passed, 5 skipped. Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
parent
98f1ac8934
commit
2ff8f844b0
33 changed files with 870 additions and 230 deletions
|
|
@ -717,10 +717,16 @@ single-consumer peek/read source so the update thread prices a result before
|
|||
adopting it. `StreamingController` is the sole scheduler: it admits through the
|
||||
typed meter into reusable destination/control/unload/Near/Far FIFOs, preserves
|
||||
exact reference identity and retry position, rejects stale generations, and
|
||||
executes every class through the same meter. Priority changes order, never the
|
||||
executes every class through the same meter. The canonical reveal generation
|
||||
supplies one exact destination cell/radius reservation; the meter protects its
|
||||
configured share across time, completion admissions, retained CPU bytes,
|
||||
entity operations, requested GPU bytes, and GL-retirement admissions. A
|
||||
completion retains the reveal generation that classified it, so a stale
|
||||
completion or teardown cannot consume or clear a replacement generation's
|
||||
reservation. Priority changes order and reserved share, never the global
|
||||
budget. Lifecycle artifacts publish worker and per-class backlog, retained
|
||||
bytes/age, yields, oversizes, overruns, and pending publication/retirement
|
||||
facts.
|
||||
bytes/age, per-lane work, yields, oversizes, overruns, and pending
|
||||
publication/retirement facts.
|
||||
|
||||
At a hard login/portal reveal edge, `WorldGenerationQuiescence` makes the old
|
||||
generation unavailable through the same `WorldRevealCoordinator` lifetime.
|
||||
|
|
@ -748,12 +754,16 @@ pending publication.
|
|||
|
||||
`WorldRevealCoordinator` is the single App-layer owner of each login or portal
|
||||
reveal lifetime. It composes the canonical `WorldRevealReadinessBarrier` with
|
||||
generation-scoped lifecycle observation, so begin, preparation, readiness,
|
||||
materialization, world visibility, completion, and cancellation cannot be
|
||||
wired independently. The barrier joins `StreamingController`/`GpuWorldState`
|
||||
generation-scoped lifecycle observation and the streaming destination
|
||||
reservation, so begin, preparation, readiness, materialization, world
|
||||
visibility, completion, cancellation, and reserved capacity cannot be wired
|
||||
independently. The barrier joins `StreamingController`/`GpuWorldState`
|
||||
static-mesh publication, `WbDrawDispatcher` composite-texture warmup, and
|
||||
`PhysicsEngine` destination residency. Login's sky-only gate and portal-space
|
||||
transit consume the same predicate; they differ only in presentation.
|
||||
transit consume the same predicate; they differ only in presentation. There is
|
||||
no timeout that reveals incomplete content: a delayed portal keeps its DAT
|
||||
tunnel live and, after five seconds, projects retail's centered
|
||||
`"In Portal Space - Please Wait..."` retained notice until readiness converges.
|
||||
Composite preparation advances after `WbMeshAdapter.Tick` on the render
|
||||
thread, never from the streaming worker. This is acdream's asynchronous equivalent of retail
|
||||
`SmartBox::UseTime` holding position completion while
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue