perf(streaming): quiesce retired generations and budget teardown
Publish the retail blocking-for-cells edge before deferred recenter work, freeze old-world presentation/simulation/audio, and advance full-window retirement from exact metered entity and owner cursors. This removes synchronous portal teardown without allowing retained owners to remain observable.
This commit is contained in:
parent
b8f6317fe1
commit
bb16f74fd4
38 changed files with 1691 additions and 170 deletions
|
|
@ -384,7 +384,8 @@ internal sealed class FrameRootCompositionPhase
|
|||
retailPViewCells,
|
||||
worldScenePasses,
|
||||
d.RenderRange,
|
||||
worldSceneDiagnostics);
|
||||
worldSceneDiagnostics,
|
||||
live.WorldAvailability);
|
||||
Fault(FrameRootCompositionPoint.WorldRendererCreated);
|
||||
|
||||
bindings = new FrameRootRuntimeBindings();
|
||||
|
|
@ -469,7 +470,8 @@ internal sealed class FrameRootCompositionPhase
|
|||
live.WorldState,
|
||||
session.LiveSession,
|
||||
session.LocalPlayerFrame,
|
||||
session.LiveSpatialReconciler);
|
||||
session.LiveSpatialReconciler,
|
||||
live.WorldAvailability);
|
||||
var cameraFrame = new CameraFrameController(
|
||||
host.CameraController,
|
||||
d.InputCapture,
|
||||
|
|
@ -496,7 +498,8 @@ internal sealed class FrameRootCompositionPhase
|
|||
new StopwatchClientMonotonicTimeSource()),
|
||||
session.LocalTeleport,
|
||||
new PlayerModeAutoEntryFramePhase(session.PlayerModeAutoEntry),
|
||||
cameraFrame);
|
||||
cameraFrame,
|
||||
live.WorldAvailability);
|
||||
Fault(FrameRootCompositionPoint.UpdateRootCreated);
|
||||
|
||||
var bindingsLease = scope.Own(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue