Just got into Hyperion and it's great. Very easy to use.
I've put this in feature requests as I believe it's working as intended but I'm seeing high CPU usage (RPI3) even when Hyperion correctly identifies "no signal".
This is idle/suspended. (no Signal)
This is active/processing LED's. (signal detected)
It took some tweaking to identify no signal as my capture card outputs a black screen, but after setting them up it's for sure working fine.
What I think is happening, and I may be wrong, is that Hyperion is still polling the black screen at the same rate it's configured to capture at. So 30fps. The slightly lower CPU usage is probably just because there are less changes to process. Would it better to save CPU resources and poll slower when a no signal state is detected? Even once a second would probably be acceptable for most users. In fact for me, my Firestick takes 10-15 seconds to boot up so every 5 seconds would be fine.
If I'm wrong then I can post in support. It's no major issue, I was going to use a GPIO pin to trigger start/stop the service, and I can see new update has integrated OS event support so probably something I can use in there.
Alternatively, if the above is true but the CPU usage is unavoidable as it's locked to the capture settings (1024x768 MJPG 30FPS) then perhaps an option to switch to a lower capture when detecting no signal? 640x480 YUYV 5FPS is a much more respectable 3-4% CPU usage and Hyperion is able to detect signal. Once it detects, switch back to the higher quality user configured settings.