Solved [Leia] Too high Idle CPU @ARM devices. What changed since Jarvis? How to reduce it?
#1
Hello,

I noticed, that (most propably because Kodi changes in time) the idle CPU usage of Leia release is around 14-20% (Odroid C2). When I tested Jarvis release (16.1), idle CPU usage is around 2-6% (and was that also on Raspberry Pi2). This is a bit important for me, as I am using 24/7 installations.

I am suspecting that this is because some changes in rendering system inside Kodi (?), because I remember, for 18y old PC, I limited GUI fps by limitframes variable@Application.cpp CApplication::Render()
Code:
if (limitFrames) {
singleFrameTime = 30; //no need to render menu more than 25 fps on old computer

// Screensaver is on, 1 fps - idle for Raspberry, slow PC etc.
if (m_bScreenSave==true) {
singleFrameTime = 1000; // 1 fps, high wakeup latency but v.low CPU usage
}
and thats greatly (20% --> 4%) reduce Idle CPU usage, when ARM box/Old PC was running, but TV shutdowned and not used (=actived [Black] screensaver).

Is it possible create option (or screensaver), what would cause lowering FPS to 1-5, when screensaver is active? Or lets say for Black screensaver? There are quite many 24/7 ARM boxes, and this would decrease Idle CPU usage significantly for them, and for Black screensaver it doesnt make sence to render anything anyway?

I tried little similiar modification on the Leia, but nowadays there is new code for CApplication::Render(),
Code:
void CApplication::Render()
{
// do not render if we are stopped, in background, or screensaver active
if (m_bStop || (m_screensaverActive))
return;
but seems thats not work for my test case for some reason Sad (dunno how to differentiate this for just Black screensaver, for possible PR in future).

What do you think of that idea? Could it be somehow adressed to improve user experience? (For example on Rpi2/Odroid C2 running Kodi, the difference in CPU Idle use in Idle is 4% (LibreELEC 7.0.3) vs 20% (LibreELEC 9) without any modification from me, with black screensaver on inactivity).
Image
Image

Correction: with Irix mode off top results drops to
4-6% with default config
1.5-3.5% with `smartredraw true`

Busybox’s top from 7.0.3 run in “Solaris mode”, procps-ng from 9.x runs in Irix mode. Not sure yet, why average load doesnt fits, but it seems I was wrong and CPU usage is relativelly same. With smartredraw even better maybe.
Reply
#2
You might want to have a look at a screen saver named 'Turn off'.

It's a great solution for me and it doesn't require al ot of scripting/config.
Makes use of standard mechanisms like CEC or Rpi native components to cut off HDMI signal.

It's available in the Kodi repo.
Reply
#3
Thank you, I already check this couple of weeks back (if I remember correctly).
Problem there is, that I dont use CEC in all installations. Often I use custom IR remote (when TV doesnt support CEC, or combo ARM->AVR->TV doesnt work reliably). Also Rpi specifics are not lifesaver, as I am planning replace Rpi2 --> Odroid C2's..

EDIT: I just do a quick test on CEC enabled setup with Odroid C2, CEC method turn off HDMI display, but CPU is still between 14-20%. And at the top of that, I cant "wake up" / "turn on" screen again, neither through CEC remote or IR remote. So I think this isnt proper solution for this Sad
Reply
#4
Hmm, i would suspect lower cpu because there is no output for it when hdmi signal is cut. That’s a shame.

I never have any issue with restoring the signal though. That would be a separate issue in your case. So not a good solution for you, regrettably.
Reply
#5
Unfortunatelly.

  But this turn-off plugin is handy for other use cases - like forgotten TV left turned on. Then this screensaver at least triggers no-signal for the TV (I personally use Black screensaver to be nice to the TV/Display and electric bills).
  Thank you for your help anyway, maybe someone find this usefull. But yes, different case, and not so-wide compatible with devices.

  I still hope, that someone from devs look on this and consider it (I bet ARM devices share are growing), or at least make some statement / hint (and we could possible make at least custom patch by ourselfs).
Reply
#6
Anyone? Image worth thousand words, I uploaded image, which shows differences..
Reply

Logout Mark Read Team Forum Stats Members Help
[Leia] Too high Idle CPU @ARM devices. What changed since Jarvis? How to reduce it?0