fix(streaming): prepare quiesced destination entities
Separate loaded spatial residency from the world presentation gate so destination live objects acquire mesh owners behind portal space while drawing and simulation stay quiesced. Prevent unowned CPU-cache hits from recreating stale GPU staging work. Co-authored-by: Erik Nilsson <erikn@users.noreply.github.com>
This commit is contained in:
parent
e991eeca34
commit
91e82c3c68
6 changed files with 142 additions and 23 deletions
|
|
@ -876,9 +876,10 @@ namespace AcDream.App.Rendering.Wb
|
|||
}
|
||||
|
||||
ObjectMeshData? deferredCachedData = null;
|
||||
if (_cpuMeshCache.TryGetAndStage(
|
||||
if (_cpuMeshCache.TryGetAndStageOwned(
|
||||
geomId,
|
||||
_stagedMeshData,
|
||||
_ownership,
|
||||
out ObjectMeshData? cachedData,
|
||||
out MeshStageResult cacheStage))
|
||||
{
|
||||
|
|
@ -936,9 +937,10 @@ namespace AcDream.App.Rendering.Wb
|
|||
_terminalPreparationFailures.Remove(id);
|
||||
|
||||
ObjectMeshData? deferredCachedData = null;
|
||||
if (_cpuMeshCache.TryGetAndStage(
|
||||
if (_cpuMeshCache.TryGetAndStageOwned(
|
||||
id,
|
||||
_stagedMeshData,
|
||||
_ownership,
|
||||
out ObjectMeshData? cachedData,
|
||||
out MeshStageResult cacheStage))
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue