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.