Lab / / observation

Two frames in three seconds, and a mechanism for the rest

The project states 2 frames drawn in a 3 s idle run and derives one frame per minute from it. The mechanism is committed; the number is not reproducible from the repo.

Rendering, Measurement methodology, Benchmarkingraspboard
Machine
UNKNOWN — "the dev machine"
Commit
UNKNOWN
Frames drawn in a 3 s idle run
2
First frame after process start
187–450 ms
Derived claim
about one frame per minute

The project says this in two places. The ADR reads *"Measured: 2 frames drawn in a 3 s idle run"*. The README reads *"Event-driven rendering: a static dashboard draws about one frame per minute"*. Both say "measured on the dev machine". Neither names a machine, a date, or a script.

There is no benchmark script, no test, and no recorded result file anywhere in the repository. I cannot re-derive either figure from what is committed.

What is verifiable

The mechanism is committed, in `src/app/Application.cpp` lines 275–294. The loop timeout is the minimum of a 1000 ms config poll tick, the time to the next minute, a 33 ms budget for the crossfade, and a 50 ms budget for the Ken Burns effect, clamped between 5 and 1000 ms, with the loop parked in `SDL_WaitEventTimeout`.

src/app/Application.cpp:275–294cpp
int timeout = 1000;                          // config poll tick
timeout = std::min(timeout, <time to next minute>);
timeout = std::min(timeout, 33);             // ~30fps crossfade
timeout = std::min(timeout, 50);             // ~20fps Ken Burns
return std::clamp(timeout, 5, 1000);

So the design is demonstrably event-driven, and "one frame per minute" is an extrapolation from a 3-second window rather than a reading. The extrapolation points the conservative way — it understates the work rather than overstating it — but it is still an extrapolation.