Skip to content

perf(render): scale screen geometry budgets to plot size - #179

Merged
nmrtist merged 1 commit into
mainfrom
perf/overview-render-budget
Nov 14, 2026
Merged

nmrtist merged 1 commit into
mainfrom
perf/overview-render-budget

Conversation

@nmrtist

@nmrtist nmrtist commented Nov 14, 2026

Copy link
Copy Markdown
Owner

Summary

Reduce excess screen geometry for small plots by scaling line sampling and overview contour budgets to their displayed size. Line pooling retains extrema, enlarged contours return to full geometry, and figure exports keep their existing rendering paths. Document the screen-detail behavior in English and Chinese.

Add a synthetic workspace benchmark that waits for settled Full detail and reports UI construction plus tessellation CPU time and vertex counts for 12, 60, 120, and 500 canvases.

Validation

  • cargo pr-check — passed on Windows.
  • npm run build in docs/ — passed.
  • Regression tests cover screen budgets, line extrema, and cached contour transitions from overview to full geometry and back without rescanning.
  • cargo test --release -p plotium bench_stress_workspace -- --ignored --nocapture — passed. On Windows at 1600×1000, overview CPU medians for 12/60/120/500 canvases were 6.14/17.25/40.66/119.54 ms; single-canvas medians were 3.97/4.81/5.85/8.56 ms. These measure UI construction and tessellation only, not GPU or end-to-end frame time.

@nmrtist
nmrtist merged commit c25f411 into main Nov 14, 2026
11 checks passed
@nmrtist
nmrtist deleted the perf/overview-render-budget branch November 14, 2026 08:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant