Leak: materials, bindless texture slots and geometry of a sim you left are never freed #737
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#737
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?
Measured (owner, 2026-10-12, RTX, plenty of VRAM): teleported from an event sim to home at 23:01:49 and sampled every 15 s.
In a longer session that visited three sims, the material store reached 34,334 materials with ~18k objects loaded, and textures 53k.
Owner direction: free resources once they're no longer needed. Keeping a left sim's assets in VRAM for a possible return is not worth it: visiting several sims (especially during events) is the common pattern, and the stale data eats headroom and later forces bulk cleanup under pressure (the geometry GC thrash fixed earlier today was this).
Fix: release by liveness, not by memory pressure.
20 minutes after the teleport (23:21), nothing further was released: materials 7,520, bindless slots 9,601, mesh slots 51,425, geometry VRAM 823 MB, CPU mirror 646 MB, texture VRAM 1,156 MB. LL texture list levelled off at 7,135 (from a peak of 11,559). So the retention is permanent, not slow.
Fix verified (build
70d807f1ea, pushed to main): home -> another sim -> home round trip.released since TP: geometry 1,232 MB, mirror 461 MB, 24.6k mesh slots, 5,475 materials, 4,825 texture images. Two liveness compactions shrank the buffers 594 -> 331 MB; no hitches logged after the return. Orphan rows 0 throughout.Correction to my earlier comment: the
materials=/total_bindless=figures were high-water marks (ids are reused); the live counts were already falling. Geometry was the real leak (GC only ran above a ~2.5 GB budget). Those log fields now print live (hw).Tradeoff: after more than 30 s away (
RenderVKAssetReleaseGraceSec), a sim's assets are released and reload on return.Shipped in 1.3.0 Beta 8 (
70d807f1eaasset lifetime by liveness; fix verified by round-trip test in the comments). Closing -- reopen or comment if you still see this.