[perf] compressedStaging reallocated and kept per compressed Build #67
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Catcrafts/Crafter.Graphics#67
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Subsystem: Mesh / Image decompression
Location:
implementations/Crafter.Graphics-Mesh.cpp:230-237(same patterninterfaces/Crafter.Graphics-ImageVulkan.cppm:198-215)Impact: Memory pinning · Effort: Medium · Load-time, not per-frame
Builds on: #101 / #102 (fence-keyed deferred-deletion queue — landed)
Problem
compressedStagingis reallocated and kept per compressed Build — persistent per-mesh host-visible staging pins memory for the mesh's life.Proposed fix
Either: (a) release after the decompress submit —
compressedStaging.DeferredClear()via the deletion queue (#102), which retires it once the submit's frame has cleared the fence (the decompress referencescompressedStaging.address, so it must outlive the submit — exactly what the queue guarantees;