Skip to content

perf: reduce Fleet panel refresh and idle rendering work - #10

Merged
okisooo merged 2 commits into
mainfrom
perf/panel-efficiency
Oct 28, 2026
Merged

okisooo merged 2 commits into
mainfrom
perf/panel-efficiency

Conversation

@okisooo

@okisooo okisooo commented Oct 28, 2026

Copy link
Copy Markdown
Owner

Timestamp-only panel updates rebuilt every dashboard control. This change keeps those controls when only collection time changes, reuses frozen brushes, and replaces frequent file probes with debounced notifications plus a recovery timer. Live glass hands off frames at its existing 60 Hz capture rate instead of continuously subscribing to display-rate rendering; entrance/exit motion keeps its existing timing.

Carries forward the currently installed popup polish as a separate commit. Layout, fonts, themes, dashboard navigation, account status and collectors are preserved. Capture workers stop before reopening; window resources and error logs have bounded ownership.

Validation:

  • 310 unit tests pass with Credential Manager reads mocked; the unisolated suite has one pre-existing environment-dependent account-discovery assertion.
  • Native build: zero warnings/errors. Dashboard interaction checks pass, including same HWND, refresh, scroll, navigation and rapid reopen.
  • Eight before/after static renders are pixel-identical across usage, dashboard, settings and provider detail in both themes.
  • 100 unchanged refreshes: managed allocations in the Python/CLR test host fall from 418 MiB to about 81 MiB; all 100 retain controls. Coverage, settings, summary and account status changes still rebuild.
  • 100 open/close/navigation cycles show a bounded late-cycle memory/handle range. This is a short synthetic/offscreen workload, not a multi-day leak guarantee.
  • Standalone samples distinguish private resident memory, working set and private commit. Startup memory is roughly unchanged, with a small watcher cost; no trimming or forced collection.

See docs/performance.md for reproducible checks and measurement limits. No public binary release is created by this PR.

@okisooo
okisooo merged commit 2f5ec37 into main Oct 28, 2026
7 checks passed
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