The machine running your playout is probably older than you would choose. It works, it is paid for, and replacing it means a day off air. So the software has to be efficient rather than assuming it is not.
Four things that matter
Lazy metadata loading. Imports create rows immediately and fill in tags from background workers. A thousand-file import is usable straight away rather than after a wait.
Loudness warm-up, throttled. Missing measurements are queued after load or import, with a maximum of two concurrent analyses. Loudness analysis is CPU-heavy, and an unbounded queue would compete with playback — the one thing that must never lose.
Virtualization everywhere. Every large grid realises only visible rows and recycles containers. List size stops being a performance factor.
Meter throttling. VU updates publish only when a level moves by at least 0.5 dB, capping effective refresh near 30 FPS. Meters redraw often enough to be useful and no more.
On-Air Mode
When it matters most, a single setting trades polish for headroom:
- VU meter cadence drops from 20 Hz to 10 Hz.
- Health checks stretch from two minutes to five.
- Marquee scrolling animations are suspended.
A status chip reads ON-AIR MODE so nobody wonders why the meters look different.
The thinking is straightforward: scrolling text and 20 Hz meters are pleasant while preparing a show and irrelevant while broadcasting one. Give the CPU back to the audio path when the audio path is live.
Writes that stay out of the way
Playlist saves are debounced three seconds, skip duplicate states via a content fingerprint, and run on a background thread — with a synchronous flush on exit so nothing is lost.
The database uses WAL journaling with synchronous=NORMAL, and runs schema DDL once per process rather than per connection.
What it adds up to
No single item here is dramatic. Together they are the difference between a 5,000-track library being usable on a six-year-old machine and being the reason you need a new one.