perf(render): bound animation and alpha scratch residency
Complete Slice D3 by replacing the unbounded animation dictionary with a concurrent byte/count LRU and by putting the three retail alpha scratch owners behind one typed aggregate budget. Preserve immediate growth and draw order while reclaiming one-frame density spikes after sustained under-use. Close stale bounds-cache issue evidence without inventing a cache.
This commit is contained in:
parent
3e18fc2730
commit
f2644d42c2
18 changed files with 857 additions and 34 deletions
|
|
@ -7,6 +7,20 @@ public sealed class ResidencyManagerTests
|
|||
private sealed class MeshAsset;
|
||||
private sealed class TextureAsset;
|
||||
|
||||
[Fact]
|
||||
public void ScratchBytesAreCommittedCpuResidence()
|
||||
{
|
||||
var charges = new ResidencyCharges(
|
||||
LogicalBytes: 1,
|
||||
CpuPreparedBytes: 2,
|
||||
DecodedBytes: 3,
|
||||
ScratchBytes: 4,
|
||||
StagingBytes: 5);
|
||||
|
||||
Assert.Equal(15, charges.CommittedCpuBytes);
|
||||
charges.Validate();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HandlesAndOwnersReserveZeroAsInvalid()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue