Octree removal 3: stop moving attachment and HUD bridges through the octree #477

Closed
opened 2026-10-06 09:30:24 +00:00 by sky_line · 0 comments
Owner

Part of #474. From the 2026-10-06 audit: the octrees are still built and maintained every frame, but almost nothing reads them. Rendering, culling, world picking, LOD, texture priority and lights all run on our own systems.

Every attachment root of every avatar still goes through markMoved(mSpatialBridge) (lldrawable.cpp ~716-719) → mMovedBridge → LLSpatialBridge::updateMove (balance + part->move) every frame. RenderVKSkipAttachOctree does not cover this path. It's the largest remaining octree cost in crowds; the moved_bridge counter is in the RenderVKSectionLog GL-residue line.

Do: skip the bridge move for attachments and HUDs, or don't create LLAvatarBridge / LLHUDBridge at all (lldrawable.cpp ~1205-1220). Make sure LLCleanIngest::noteObjectMoved still fires where the clean pipeline needs it (pipeline.cpp ~843-844 currently piggybacks on bridge moves).

Measure: frame time in a crowded club before and after.

Part of #474. From the 2026-10-06 audit: the octrees are still built and maintained every frame, but almost nothing reads them. Rendering, culling, world picking, LOD, texture priority and lights all run on our own systems. Every attachment root of every avatar still goes through `markMoved(mSpatialBridge)` (lldrawable.cpp ~716-719) → `mMovedBridge` → `LLSpatialBridge::updateMove` (balance + `part->move`) every frame. `RenderVKSkipAttachOctree` does not cover this path. It's the largest remaining octree cost in crowds; the `moved_bridge` counter is in the RenderVKSectionLog GL-residue line. **Do:** skip the bridge move for attachments and HUDs, or don't create `LLAvatarBridge` / `LLHUDBridge` at all (lldrawable.cpp ~1205-1220). Make sure `LLCleanIngest::noteObjectMoved` still fires where the clean pipeline needs it (pipeline.cpp ~843-844 currently piggybacks on bridge moves). **Measure:** frame time in a crowded club before and after.
sky_line added this to the Slipstream project 2026-10-06 15:04:14 +00:00
sky_line referenced this issue from a commit 2026-10-07 07:27:37 +00:00
sky_line 2026-10-07 07:27:37 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#477
No description provided.