Skip to content

fix: improve compute GSplat tile entry buffer scaling to reduce overflow artifacts#8574

Merged
mvaligursky merged 1 commit intomainfrom
mv-tile-entry-buffer-scaling
Apr 2, 2026
Merged

fix: improve compute GSplat tile entry buffer scaling to reduce overflow artifacts#8574
mvaligursky merged 1 commit intomainfrom
mv-tile-entry-buffer-scaling

Conversation

@mvaligursky
Copy link
Copy Markdown
Contributor

@mvaligursky mvaligursky commented Apr 2, 2026

Improves the dynamic tile entry buffer scaling in the compute GSplat renderer to reduce visual artifacts (missing splats) caused by buffer overflow when the camera rapidly reveals many close-up splats.

Changes:

  • Increase grow headroom from 10% to 50% (ENTRY_HEADROOM_MULTIPLIER = 1.5) so the buffer has more room after an overflow-triggered resize
  • Use gradual multiplier shrink (10% decay per cycle) instead of snapping directly to measured usage, preserving memory of past peak demand
  • Increase SHRINK_THRESHOLD from 10 to 200 consecutive low-usage readbacks before considering a shrink, keeping existing buffer capacity longer

Performance:

  • Temporarily higher peak memory for tile entry buffers, reclaimed gradually (~27s at 60fps) after sustained low usage
  • Reduces multi-frame rendering artifacts when the camera reveals dense splat regions

…low artifacts

Increases grow headroom from 10% to 50%, uses gradual multiplier shrink
(10% decay per cycle) instead of snapping to measured usage, and raises
SHRINK_THRESHOLD from 10 to 200 to preserve buffer capacity longer.

Made-with: Cursor
@mvaligursky mvaligursky self-assigned this Apr 2, 2026
@mvaligursky mvaligursky added the area: graphics Graphics related issue label Apr 2, 2026
@mvaligursky mvaligursky merged commit cbf28f1 into main Apr 2, 2026
8 checks passed
@mvaligursky mvaligursky deleted the mv-tile-entry-buffer-scaling branch April 2, 2026 10:16
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