Read the statement by Michael Teeuw here.
Electron CPU usage
-
After performing a clean install of the MagicMirror on Raspbian Stretch I was also running into this issue: high CPU usage, stuttering in the UI when animations are playing, etc. I didn’t really expect the MagicMirror to perform well in the first place (since it’s browser-based) but this was worse than I expected, so I did some investigation. The problem is twofold:
- The version of Electron (1.6.2) does not work on Stretch. Many users (including me) work around this by manually installing Electron 1.7.9, which does support Stretch. After this, the MagicMirror can be installed as normal (aside from some bugs in the install script, which I fixed locally) and will appear to work.
- However: Electron 1.7.9 does not have support for hardware acceleration on the Raspberry Pi (1.6.2) does. So normal rendering will appear to work fine, but anything to do with animation (and alpha blending in particular) will slow to a crawl.
The solution is to use Raspbian Jessie for now and ignore Stretch until this is fixed in Electron.
-
@rovarma said in Electron CPU usage:
The solution is to use Raspbian Jessie for now and ignore Stretch until this is fixed in Electron.
This has already been determined in the contents of this topic. The combination of Pi, OS and Electron versions for best performance is clearly stated above and has solved the CPU issue for many users since this topic started 3 months ago. :-)
-
I gave up on MM2 last year because of how bad the transitions looked. Recently I had need of something like MM and decided to try again and had the same CPU load and terrible transitions until I found this thread.
With the latest Raspbian Stretch, MM2, and a downgrade of electron to 1.4.15 it works far better. Barely a spike on the CPU meter.
This thread is far too long. Considering the impact of this solution, it really should be in the FAQ on github. The only reason I even noticed this thread is due to the weekly Email summary.
-
@TheBogueRat said in Electron CPU usage:
This thread is far too long.
If it were shorter then the results may never have come to light and many other users like yourself may have given up due to the CPU issue
Considering the impact of this solution, it really should be in the FAQ on github.
Perhaps, but I have nothing to do with such things. I’m just an old dude that wanted to know what was causing the issue and with the help of some fine people I think we did just that. However, I do appreciate the recognition and thank you on behalf of everyone that participated in the testing.
-
For anyone running into this issue, run the following command from your MagicMirror folder:
npm install electron@1.4.15
-
One more data point: The Pi behind my office mirror was doing okay, until I enabled the MMM-Snow module. Short version is that I had to downgrade Electron to 1.4.15 but now it’s running pretty well with 50 snowflakes.
-
> electron@1.4.15 postinstall /home/pi/MagicMirror/node_modules/electron > node install.js magicmirror@2.1.3 /home/pi/MagicMirror ├── electron@1.4.15 invalid └── UNMET PEER DEPENDENCY stylelint@7.13.0 invalid npm WARN grunt-stylelint@0.9.0 requires a peer of stylelint@^8.0.0 but none was installed. npm WARN stylelint-config-recommended@1.0.0 requires a peer of stylelint@^8.0.0 but none was installed. npm WARN stylelint-config-standard@17.0.0 requires a peer of stylelint@^8.0.0 but none was installed.
-
@schlachtkreuzer6 I had the same error when I downgraded. However, it did install and I am able to run the Magic Mirror process. I am getting a temperature warning. I’ll experiment a bit to see if I can narrow that down.
-
@bhepler Yeah funny!
But you´re right. It install electron and the temperature sinks from 82-85°C to 52-55°C and the animations are smooth. Only the error massage is strange! -
@schlachtkreuzer6 Technically, they’re not error messages. They’re warnings. If they become serious, then they will be promoted to errors.