Found by tracing the app with a fake skimmer feed, a fake rigctld and
eight tool windows open (about 3,500 spots on the bandmap).
- Drop expired spots from the one-second spot timer instead of from each
window's refresh on the UI thread.
- Bandmap keeps the lists On and All return until the spots change, and
Near searches only the band the frequency is in.
- The Available window replaces its rows at most every two seconds, the
Score window redraws at most once a second, and the Telnet list takes
new lines four times a second at most (RateLimited).
- The bandmap leader line pen is made once.
Idle CPU in that setup went from about 33-70% of one core to about 16-25%.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>