perf(rendering): retain packed classification
Retain appearance classification per projection while refreshing transforms, clip slots, lights, selection lighting, and group instance payloads each frame. Incomplete resources and active animation remain on the live classification path, and only an exact full packed comparison acknowledges scene dirtiness.
This commit is contained in:
parent
f10dec58ba
commit
54d17eb446
7 changed files with 731 additions and 30 deletions
|
|
@ -73,6 +73,26 @@ public sealed class RenderSceneShadowRuntimeTests
|
|||
Assert.Contains("sourceChannel=static", snapshot.FirstMismatch);
|
||||
Assert.Contains("field=transform", snapshot.FirstMismatch);
|
||||
Assert.Single(logs);
|
||||
Assert.Equal(1, snapshot.SceneIndexCounts.Dirty);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void PackedProductOwnership_LeavesDirtyAcknowledgementToProduct()
|
||||
{
|
||||
WorldEntity entity = Entity(23, serverGuid: 0, parentCell: null);
|
||||
CurrentRenderSceneOracle oracle = Capture(entity, []);
|
||||
using var shadow = new RenderSceneShadowRuntime(Generation(1));
|
||||
Register(shadow, entity, RenderProjectionClass.OutdoorStatic);
|
||||
shadow.DrainUpdateBoundary();
|
||||
var controller = new RenderSceneShadowComparisonController(
|
||||
shadow,
|
||||
oracle,
|
||||
acknowledgeDirty: false);
|
||||
|
||||
controller.CompareNow();
|
||||
|
||||
Assert.Equal(1uL, controller.Snapshot.SuccessfulComparisonCount);
|
||||
Assert.Equal(1, controller.Snapshot.SceneIndexCounts.Dirty);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue