decred / dcrweb

Decred website code.
37 stars 76 forks source link

Website consuming %353 CPU, cranking fan #448

Closed s-ben closed 5 years ago

s-ben commented 5 years ago

Have been meaning to post this for a while. Whenever I'm on decred.org, after a minute or so, my laptop fan will go into high gear. Looking at my CPU stats (below), in Chrome just now the site was consuming %353 of CPU. The same happens in Brave (my default browser). Anyone else seeing this too? If I didn't know y'all, would think you were cryptojacking me to mine your funky coin.

image

oregonisaac commented 5 years ago

Very strange, not as extreme on my end but here are my utilization numbers using Brave with "shields up" and only Decred.org home page open...is it a specific page for you?: image

s-ben commented 5 years ago

Seems to happen every time I visit decred.org. I just saw it last though visiting the press page because I saw you posting about it on slack, https://decred.org/press/

oregonisaac commented 5 years ago

Tried from Fedora/Firefox: image

s-ben commented 5 years ago

I just tried the home page (Brave w/ shields up), and wasn't able to reproduce. However, when I go to the press page, it happens again.

oregonisaac commented 5 years ago

Suggest trying deactivating Google Chome Helper in the Chrome menu (Preferences -> Show advanced settings… -> Content Settings ->Plug-ins and change "Run automatically” to “Click to play” and maybe you can see which part of the site/browser interaction is the culprit.

oregonisaac commented 5 years ago

Oh I guess the site is using particles.js and you are seeing this issue: https://github.com/VincentGarreau/particles.js/issues/283 per ay-p in Matrix just now.

s-ben commented 5 years ago

Hmm...Don't see a Plug-ins option under Content Settings....Tried to disable javascript (hidden monero miner?). Didn't do anything. CPU still high. Also tried turning off ad blocker, privacy badger. Still high. However, I've done this experiment twice with Chrome now, and after like a minute or two, the CPU load goes back to normal.

image

When I look at the active files and folders, when I click on the Chrome Helper process in Activity Monitor, I get this, for what it's worth. I may be giving up here, if nobody else is having this problem.

/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Helper.app/Contents/MacOS/Google Chrome Helper
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Google Chrome Framework
/System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI
/System/Library/Frameworks/ForceFeedback.framework/Versions/A/ForceFeedback
/System/Library/Frameworks/GameController.framework/Versions/A/GameController
/usr/lib/libexpat.1.dylib
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/natives_blob.bin
/private/var/folders/gp/7mjgy7jj1zb03gj7mjhgny840000gn/T/.com.google.Chrome.itJ30F
/usr/share/icu/icudt55l.dat
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/icudtl.dat
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/v8_context_snapshot.bin
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/chrome_100_percent.pak
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/chrome_200_percent.pak
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/en.lproj/locale.pak
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/resources.pak
/System/Library/Fonts/SFNSText-Regular.otf
/System/Library/Fonts/Times.dfont
/private/var/folders/gp/7mjgy7jj1zb03gj7mjhgny840000gn/0/com.apple.LaunchServices-134501.csstore
/System/Library/Fonts/Helvetica.dfont
/System/Library/CoreServices/SystemAppearance.bundle/Contents/Resources/SystemAppearance.car
/usr/lib/dyld
/private/var/db/dyld/dyld_shared_cache_x86_64h
/dev/null
/dev/null
/dev/null
count=2, state=0x12
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/icudtl.dat
->0x113a64d3699e16ab
/private/var/folders/gp/7mjgy7jj1zb03gj7mjhgny840000gn/T/.com.google.Chrome.itJ30F
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/v8_context_snapshot.bin
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/natives_blob.bin
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/chrome_100_percent.pak
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/chrome_200_percent.pak
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/en.lproj/locale.pak
/Applications/Google Chrome.app/Contents/Versions/70.0.3538.110/Google Chrome Framework.framework/Versions/A/Resources/resources.pak
/dev/urandom
count=0, state=0xa
->0x113a64d36617ebfb
->0x113a64d375dc08bb
count=0, state=0xa
->0x113a64d349327afb
->0x113a64d36752e9fb
/Users/sben/Library/Application Support/Google/Chrome/Subresource Filter/Indexed Rules/20/9.1/Ruleset Data
->0x113a64d3699e20d3
/System/Library/CoreServices/SystemAppearance.bundle/Contents/Resources/SystemAppearance.car
ZeroASIC commented 5 years ago

My computer only gets about 53% after it settles down regardless of which browser I'm using. It's always going to be higher during page load times and the memory requirements are directly related to the amount of JS that's running and the number of tabs you have open. The percentage you're getting is relative to the CPU you have.

Like ay-p said on matrix, the culprit is Particle.js. It could be removed at some point in the future, but I'm not going to mess with it right now. There are some alternatives to Particle.js, but I'm not terribly concerned about this at the moment and this issue could be tackled at a later time during a redesign, like the CMS upgrade.

s-ben commented 5 years ago

Thanks for the info. That theory makes sense. I am on a 2015 macbook Pro with a hundred tabs open. Mainly just wanted to make sure it wasn't a bigger issue/bug for other people.

oregonisaac commented 5 years ago

Note that there is a workaround presented in the referenced link: https://github.com/VincentGarreau/particles.js/issues/283

Perhaps someone more familiar with the site can confirm if this should be closed while waiting on the solution from the particles team or investigated for the workaround.

ZeroASIC commented 5 years ago

I just looked a little bit closer at this and it turns out that we're not using particle.js. I didn't actually check last night, I just went with what I was told. We're using pts.js and it looks like it's out of date. @s-ben please reopen this issue so I can look at it more closely tomorrow.

ta-lind commented 5 years ago

I think this is not worth fixing, as the current js headers will be phased out quite soon. Visuals just got completed.

s-ben commented 5 years ago

Closing