perf(streaming): scope reveal warmup spatially
Source composite warmup from the canonical published destination neighborhood, including quiesced static and live projections, instead of rescanning the retained Far-tier world after every membership edge.
This lifecycle correction applies to both draw paths, preserving ef1d263337 as the sole G4 visual rollback.
Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
129dd77ddd
commit
03b10183e9
5 changed files with 212 additions and 6 deletions
|
|
@ -327,17 +327,27 @@ internal sealed class SessionPlayerCompositionPhase
|
|||
d.Selection,
|
||||
live.WorldState,
|
||||
content.Audio?.Engine);
|
||||
var compositeWarmupSource =
|
||||
new CompositeWarmupEntitySource(live.WorldState);
|
||||
var worldReveal = new WorldRevealCoordinator(
|
||||
streaming.IsRenderNeighborhoodResident,
|
||||
d.PhysicsEngine.IsSpawnCellReady,
|
||||
d.PhysicsEngine.IsNeighborhoodTerrainResident,
|
||||
() => live.DrawDispatcher.CompositeTexturesReady,
|
||||
(destinationCell, radius) => live.DrawDispatcher.PrepareCompositeTextures(
|
||||
live.WorldState.Entities,
|
||||
live.WorldState.FlatViewGeneration,
|
||||
destinationCell,
|
||||
radius),
|
||||
live.DrawDispatcher.InvalidateCompositeWarmupReadiness,
|
||||
(destinationCell, radius) =>
|
||||
{
|
||||
compositeWarmupSource.Refresh(destinationCell, radius);
|
||||
live.DrawDispatcher.PrepareCompositeTextures(
|
||||
compositeWarmupSource.Entities,
|
||||
compositeWarmupSource.Generation,
|
||||
destinationCell,
|
||||
radius);
|
||||
},
|
||||
() =>
|
||||
{
|
||||
compositeWarmupSource.Reset();
|
||||
live.DrawDispatcher.InvalidateCompositeWarmupReadiness();
|
||||
},
|
||||
spawnClaimClassifier.IsUnhydratable,
|
||||
d.Log,
|
||||
worldQuiescence,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue