Read the statement by Michael Teeuw here.
Electron CPU usage
-
Today, I tried a few things, too. Perhaps my results could be helpful for us. Sorry, this will be a long post ;). I have following the devices:
- Raspberry 3 Model B - my standard mirror device
- Asus Tinker Board
- odroid C2 (ARM64)
Software Versions MM:
- MM v2.1.2 on all devices
Electron Versions:
- Raspberry 3 Model B (v1.6.11)
- Asus Tinker Board (v1.4.15) but v1.6.11 works the same
- odroid C2 (ARM64) (v.1.8.0 - because of the x64; I uninstalled spectron, because there is no x64 support)
Configs:
- Standard (Calendar, Compliments, Newsfeed, Clock)
- MyConfig (Calendar, Compliments, Newsfeed, Clock, Todoist, Sonos, Netatmo, WheaterUnderground, Stocks, Reiseauskunft, Strava); here, cpu usage is a little bit higher, but the behaviour is the same.
The 100% usage topic seems to be a electron problem and I think it can be solved with some downgrades of MM2 and electron. v.1.7.5 seems to be bad. Whatever, here is what I found out:
-
nmon
with the ATB (v1.7.5 electron here) and default config:
CPU usage while transitions is very high. Lagging! -
nmon
with the ATB (v1.4.15 electron here) and default config:
CPU usage is better but, to be honest, way to high for transitions (cpu peaks). And still some small lags. -
nmon
with the odroid and default config:
The best result. but still peaks while the transitions. Some lags here, too.
So, here is my actual config:
4)nmon
with the Raspberry 3 Model B and MyConfig:
Same here, still lags.The last thing I tried was very interesting. I opened my chromium on the ATB and put the webadress from my Raspberry 3 Model B device in it. So I openend that Rapsberry 3 Model B MM2 on my ATB. And that happens:
Absolutely smooth, no peaks at all.BTW: My Raspberry 3 Model didn’t have any more cpu usage while that process.
Can anybody tell us, WHY?
-
@djsunrise19
As I see, rendering engine of electron seems to be the reason of whole of thing. Electron has its own v8 and renderer. I doubt it goes worse on some late version. I don’t know why, but there is few things we could do.Report this to electron, wait a patch. Or downgrade or… turn off the animation.
-
@Sean said in Electron CPU usage:
@djsunrise19
As I see, rendering engine of electron seems to be the reason of whole of thing. Electron has its own v8 and renderer. I doubt it goes worse on some late version. I don’t know why, but there is few things we could do.Report this to electron, wait a patch. Or downgrade or… turn off the animation.
Seems logical. But I have to mention, that there is no MMv2 and electron version number combination that works without those peaks and small lags. The smoothest way ist the browser directly (like in MMv1 - everything was fine there).
So the question is: Anyone here who doesn’t have those peaks and lags while the transitions with MMv2 and electron?
-
@djsunrise19 said in Electron CPU usage:
So the question is: Anyone here who doesn’t have those peaks and lags while the transitions with MMv2 and electron?
This topic is only 17 days old, yet it has 5.0k views already. So, obviously there is a lot of interest. My answer likely was lost somewhere above, so:
I do NOT have those peaks and lags
-
@Sean said in Electron CPU usage:
I doubt it goes worse on some late version
With all due respect, I have to disagree. New versions can break existing installations in any software, not just MM. It’s the very reason for many patches. However, we don’t know the reason for this issue, and it may well be that electron isn’t the cause, but some users have had a small measure of improvement with earlier versions.
-
@TiemenMoesker HOLY MOLLY, I am having this exact problem you guys are having. I double checked my hardware and revision. which are
hardware =BCM2835
Revision= a02082
and I DO have this problem, it seems nothing you guys tried work except downgrade , so I’m going to ask arrow to send me a replacement since i actually ordered BCM2837 not BCM2835. Let’s hope it work out! (mean while I will try the downgrade option, seemed to improve performance drastically for others) -
@loctruong96 said in Electron CPU usage:
(mean while I will try the downgrade option, seemed to improve performance drastically for others)
Please keep us posted
-
OK, I can here by confirm that using MM 2.1.0 + Electron 1.4.15 improved performance massively. Each new transition now only uses 10-13% of CPU power (and very, very smooth). Even better than earlier report of 40%. For the specs of my pi 3 b
hardware = BCM2835
Revision = a02082
micro sd card - 16gb - class 4 (that’s right, only 4)
mouse + keyboard currently plugged in - no lag
OS = RASPBIAN STRETCH WITH DESKTOP
Thank you so much @Mykle1 for sharing your finding. Otherwise, I would be still trying to narrow down a potential work around.For those who not sure how to do this:
- Create a fresh install of RASPBIAN STRETCH WITH DESKTOP, connect to wifi, then run sudo apt-get update.
- sudo apt-get install npm
- sudo npm install electron@1.4.15 -g
- WAIT PATIENTLY FOR ELECTRON TO LOAD IN THE BACKGROUND
- a new line appear indicate electron has finished installing
- Go to your download folder, exact Magic Mirror 2.1.0
- Go to the newly exacted forlder, open another folder named config
- Change the file name Config.js.example to Config.js inside the config folder
- open terminal , cd Download/, cd MagicMirror-2.1.0, (OR whatever your location for the Magic Mirror 2.1.0 package is), npm install && npm start
9.5 If encounter error “404”, try “npm install npm@latest -g” (NOTE: some users experienced issues since they do not have the latest npm as global variable) @Reotch2 @EventHorizon - DONE!
Hopefully I will be able to return my pi 3 for a better hardware version to use with the latest Magic Mirror package but here is an acceptable work around for the time being.
-
@loctruong96 said in Electron CPU usage:
Thank you so much @Mykle1 for sharing your finding.
You are most welcome. :^)
I would like to give credit to everyone that is participating in this topic. By putting our heads together we’ve eliminated some possibilities but we haven’t pinpointed the problem, yet. We have narrowed it down a bit, though, and this workaround is helping some people. I’m glad you’re one of them.
-
Just a quick post in an attempt to re-create the above steps. I get to the part where I have to type “npm install && npm start” and I get an error 404 ‘Not Found’. ‘types/node’ is not in the npm registry. ‘It was specified as a dependency of ‘electron’’
Any idea what I’m doing wrong?
Thanks.