Octree removal 2: stop building the 9 partitions nothing reads #476

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.

These partitions are constructed, balanced, shifted and moved into, but nothing reads them under Vulkan: Terrain, Water, VoidWater, Tree, Grass, HUD, HUDParticle, Avatar, ControlAV (llviewerregion.cpp ~685-697).

Do:

  • Stop creating them.
  • Make movePartition a no-op for those object types. The per-avatar movePartition every frame (llvoavatar.cpp ~3100-3108) is the main saving.

Precondition, audit first:

  • LLDrawable::isVisible() falls back to group visibility (lldrawable.cpp ~1097-1101).
  • LLVOAvatar::updateVisibility treats "no group" as visible (llvoavatar.cpp ~5340).

Objects that lose their group must keep behaving correctly. Also check flexi isVisible and the particle sim's visible rate.

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. These partitions are constructed, balanced, shifted and moved into, but nothing reads them under Vulkan: Terrain, Water, VoidWater, Tree, Grass, HUD, HUDParticle, Avatar, ControlAV (llviewerregion.cpp ~685-697). **Do:** - Stop creating them. - Make `movePartition` a no-op for those object types. The per-avatar `movePartition` every frame (llvoavatar.cpp ~3100-3108) is the main saving. **Precondition, audit first:** - `LLDrawable::isVisible()` falls back to group visibility (lldrawable.cpp ~1097-1101). - `LLVOAvatar::updateVisibility` treats "no group" as visible (llvoavatar.cpp ~5340). Objects that lose their group must keep behaving correctly. Also check flexi `isVisible` and the particle sim's visible rate.
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#476
No description provided.