SKILL: wpf-performance
Purpose
Prevent UI lag, dropped frames, and data-path stalls in real-time waveform + variable dashboards.
Trigger
- •Changes in plot rendering, dispatcher timers, large tables, or high-frequency bindings.
Baseline Commands
- •
dotnet build .\\MotorDebugStudio.csproj - •
dotnet-trace --help - •
dotnet-counters --help
Steps
- •Rendering path review
- •avoid unnecessary full redraws.
- •guard refresh by data version / dirty flags.
- •DataGrid performance
- •keep virtualization enabled for large parameter sets.
- •avoid expensive converters in high-frequency columns.
- •Threading model
- •background transport work stays off UI thread.
- •UI collection updates marshaled safely to dispatcher.
- •Instrumentation
- •use
dotnet-countersfor runtime trends. - •use
dotnet-tracefor hotspots when regressions appear.
- •Exit criteria
- •no visible freeze during scope run.
- •command latency remains acceptable while plotting.
Deliverables
- •performance note in
docs/DEVELOPMENT_LOG.md - •explicit risk callout if trade-offs remain