Skip to content

perf: Speed up GSplat octree evaluateNodeLods#8683

Merged
mvaligursky merged 1 commit into
mainfrom
mv-gsplat-octree-lod-perf
May 5, 2026
Merged

perf: Speed up GSplat octree evaluateNodeLods#8683
mvaligursky merged 1 commit into
mainfrom
mv-gsplat-octree-lod-perf

Conversation

@mvaligursky
Copy link
Copy Markdown
Contributor

@mvaligursky mvaligursky commented May 5, 2026

Speeds up hot-path LOD evaluation for unified GSplat octree instances (CPU-side distance + LOD band selection).

Changes:

  • Dense Float32Array of per-leaf AABB min/max on GSplatOctree for cache-friendly reads
  • Inlined AABB closest point, distance, and behind-camera dot (no per-iter BoundingBox/Vec3 chain)
  • Geometric LOD bands via reusable threshold buffer + coarse-first scan (replaces per-node Math.log)
  • accumulateSplats flag so callers that ignore the splat total skip per-node lod.count aggregation

- Pack per-node AABB min/max in GSplatOctree.nodeBoundsMinMax (Float32Array)
- Inline closest-point clamp, scalar distance and forward dot
- Replace Math.log LOD mapping with geometric thresholds (coarse-first scan)
- Optional accumulateSplats to skip splat count when return value unused
- Remove temporary evaluateNodeLods timing instrumentation
@mvaligursky mvaligursky self-assigned this May 5, 2026
@mvaligursky mvaligursky merged commit 459ede8 into main May 5, 2026
8 checks passed
@mvaligursky mvaligursky deleted the mv-gsplat-octree-lod-perf branch May 5, 2026 11:49
@mvaligursky mvaligursky added performance Relating to load times or frame rate area: graphics Graphics related issue labels May 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: graphics Graphics related issue performance Relating to load times or frame rate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant