RAM: free LL's LLVolumeFace mesh data after capture (~1.2 GB in heavy regions) -- follow-up #585
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#585
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?
The same heap profile attributes about 1.2 GB to LL's float mesh data kept after loading:
LLVolumeFace::operator=fromLLMeshRepository::notifyMeshLoaded: positions and normals ~580 MB, tangents 217 MB, weights 137 MB, indices 124 MB.LLSkinningUtil::updateRiggingInfo: 121 MB.Under VK, our meshstore mirror (quantized, #573/#582) holds what rendering needs. LL's copy survives only for code that still reads it.
Goal
Once a mesh LOD is captured, release its
LLVolumeFacevertex data, keeping only small metadata.Readers to move off LL's data first
Map every one, then port it or keep a minimal subset:
LLVOVolume::updateRiggingInfo,LLVOAvatar::calculateSpatialExtents), which use per-face weights;lineSegmentIntersectpaths not covered by our pick);LLVolumeLODGrouprefs;getVolumeFace()positions on mesh volumes.Rules
Done when
Follow-up to the renderer CPU-copy ticket.
Started 2026-10-10. Plan: list every reader of LL's LLVolumeFace data (rigging info and extents, physics display, silhouettes, CPU raycast, LOD groups, decimation and weld, BLAS sources) and move each to our store data or a small kept subset. Then release the data after capture, behind a setting, with stats in the VKMem RAM log line.
Shipped in 1.3.0 Beta 1: LL's copy of mesh vertex data is freed once the renderer has captured a LOD (setting SLFreeCapturedMeshData, on by default).