Skip to main content

Performance Level

Superhome processes the camera in a continuous loop: grab a frame, run palm detection, react. Performance Level controls how hard your device runs that loop, letting you trade CPU usage for responsiveness.

You set it with a single 1–5 slider in the Hub (it also appears as the performance_level option in the app Configuration tab):

  • 1 - Eco: the slowest loop and the lowest CPU usage.
  • 5 - Performance: flat-out, runs as fast as the hardware allows.
  • 2–4: in between.

It adapts to your hardware

There are no fixed millisecond values. The first time Superhome starts on a device it measures how fast that device can run the loop and maps the five levels onto that capability. So level 3 on a fast mini-PC and level 3 on a Raspberry Pi mean different things in milliseconds, but the same thing in intent.

  • On fast hardware, Eco caps the loop at about 350 ms (≈3 fps): fast enough for reliable gestures while using a fraction of the CPU. Higher levels use progressively more CPU, and level 5 runs flat-out.
  • On slower hardware that already can't beat ~350 ms, the levels are remapped onto its own range: level 5 runs flat-out, and Eco just slows it down a little.

Superhome never runs the loop faster than needed unless you ask for it: gesture detection does not benefit from very high frame rates, so the extra CPU would be wasted.

Default

The default is Auto: capable hardware defaults to Eco (saving CPU out of the box), while hardware that is already at its limit defaults to Performance (throttling it further would only make it slower). Move the slider any time to override; the change applies immediately, no restart needed.

When the loop can't keep up

If your hardware is too slow to reach even its flat-out target, Superhome still works, just at a lower frame rate, and the Hub shows a "running slowly" warning. That warning reflects the real hardware speed and is independent of the performance level you choose.

Typical scenarios

  • Dedicated Raspberry Pi 5: leave it at Performance (5) / Auto: it runs flat-out at ~400–500 ms per loop, which is exactly what you want.
  • Fast PC used for other things too: keep it on Eco (1) to cut CPU usage dramatically: the loop is paced to ~350 ms instead of running flat-out at, say, 90 ms, freeing the CPU for your other work.

Clusters

Each node (master and every worker) measures its own hardware, so a single performance level maps correctly to each one. Setting the level on the master pushes it to all connected workers; each worker applies it to its own hardware.