Skip to content

perf: improve GSplat compute renderer cold-start buffer capacities#8610

Merged
mvaligursky merged 1 commit intomainfrom
mv-gsplat-compute-buffer-knobs
Apr 17, 2026
Merged

perf: improve GSplat compute renderer cold-start buffer capacities#8610
mvaligursky merged 1 commit intomainfrom
mv-gsplat-compute-buffer-knobs

Conversation

@mvaligursky
Copy link
Copy Markdown
Contributor

Raises initial buffer capacities in the compute GSplat renderer to eliminate missing tiles / dropped large splats in the first few frames after scene load or camera teleport, before GPU readback has converged.

Changes:

  • INITIAL_TILE_ENTRY_MULTIPLIER: 1.5 → 2.5 — floor on tile-entry capacity, ensures frame-1 buffer is large enough for dense scenes.
  • ENTRY_HEADROOM_MULTIPLIER: 1.5 → 2.0 — cushions steady-state frame-to-frame spikes (camera motion, splats crossing tile boundaries).
  • INITIAL_LARGE_SPLAT_CAPACITY: 4096 → 16384 — avoids dropping large splats on close-up views before the grow-only readback path catches up.
  • Restructure the module-top constants block into three clearly-labeled groups (tunable knobs, algorithmic invariants, module-scope scratch) with expanded comments documenting the trade-off and memory cost of each knob.

Rationale:
The compute GSplat renderer targets desktop platforms, so the small additional memory cost is worthwhile in exchange for eliminating visible cold-start artifacts. Worst-case additional memory is dominated by the tile-entry buffers (numSplats × multiplier × 8 bytes); for a 10M-splat scene this is on the order of tens of MB and occurs only when needed.

No public API change.

- INITIAL_TILE_ENTRY_MULTIPLIER: 1.5 -> 2.5
- ENTRY_HEADROOM_MULTIPLIER: 1.5 -> 2.0
- INITIAL_LARGE_SPLAT_CAPACITY: 4096 -> 16384
- Reorganize constants block and expand comments documenting each knob's
  trade-off and memory cost.
@mvaligursky mvaligursky self-assigned this Apr 17, 2026
@mvaligursky mvaligursky added the area: graphics Graphics related issue label Apr 17, 2026
@mvaligursky mvaligursky merged commit 53926b2 into main Apr 17, 2026
8 checks passed
@mvaligursky mvaligursky deleted the mv-gsplat-compute-buffer-knobs branch April 17, 2026 10:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: graphics Graphics related issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant