Post-teleport hitch when old regions drop: ~7.8k objects torn down in single frames -- time-slice / batch region teardown #433
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#433
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?
After a teleport, when the regions left behind are dropped, there's still a noticeable hitch. It's much better since the VRAM work (texture frees are now cheap pool frees, #411), but not gone. Related: #290 (a 2-3 s hitch ~30-60 s after a region unloads, deferred asset cleanup in one burst) and #405.
Evidence (owner's session, 2026-10-05 ~11:51Z, teleport into Cloudsdale)
~7,800 objects are torn down in two single frames.
LLWorld::removeRegion→LLViewerRegiondestructor /killAllObjects-style path, which per object does:LLCleanInstanceStore::releaseObject);clearAllMapObjectsInRegionwarns that thousands were still on the map list);Fix direction
clearAllMapObjectsInRegionfinding 4421 / 3375 leftovers means map-list removal isn't happening per object as they die (or the region is cleared before its objects). Remove the region's map entries in one sweep (the map list is now index-based after #316), or tear down in an order that avoids the warning.removeRegionand the deferred cleanup, logging object count + ms per drop;Done when
Shipped in a published release and tested; closing (testing-lane sweep 2026-10-11).