Skip to content

perf: store conic form in projection cache to avoid per-tile conversion#8565

Merged
mvaligursky merged 1 commit intomainfrom
mv-conic-form-cache
Apr 1, 2026
Merged

perf: store conic form in projection cache to avoid per-tile conversion#8565
mvaligursky merged 1 commit intomainfrom
mv-conic-form-cache

Conversation

@mvaligursky
Copy link
Copy Markdown
Contributor

@mvaligursky mvaligursky commented Apr 1, 2026

Store conic-form values (cx, cy, cz) directly in the projection cache instead of the Gaussian evaluation coefficients (coeffX, coeffY, coeffXY). This eliminates the per-tile conversion previously done inside tileIntersectsEllipse, saving a few multiplies per splat per tile in both TileCount and Scatter passes.

Changes:

  • computeSplatTileEval and tileIntersectsEllipse now accept conic form (cx, cy, cz) directly instead of coeffX/coeffY/coeffXY, removing the internal conversion
  • TileCount pass computes and stores cx/cy/cz in the projection cache
  • Scatter pass reads cx/cy/cz and passes them directly to tile intersection
  • Rasterize pass reads cx/cy/cz and converts back to evaluation coefficients (coeffX = -cx/2, coeffY = -cz/2, coeffXY = -cy) for per-pixel Gaussian evaluation

Store conic-form values (cx, cy, cz) directly in the projection cache
instead of the Gaussian evaluation coefficients (coeffX, coeffY, coeffXY).
This eliminates the per-tile conversion previously done inside
tileIntersectsEllipse, saving a few multiplies per splat per tile in both
TileCount and Scatter passes.

Made-with: Cursor
@mvaligursky mvaligursky self-assigned this Apr 1, 2026
@mvaligursky mvaligursky added performance Relating to load times or frame rate area: graphics Graphics related issue labels Apr 1, 2026
@mvaligursky mvaligursky merged commit e79c1bd into main Apr 1, 2026
8 checks passed
@mvaligursky mvaligursky deleted the mv-conic-form-cache branch April 1, 2026 08:30
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