Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TrelloScrum makes Firefox slow #78

Open
andreicristianpetcu opened this issue Feb 17, 2015 · 53 comments
Open

TrelloScrum makes Firefox slow #78

andreicristianpetcu opened this issue Feb 17, 2015 · 53 comments

Comments

@andreicristianpetcu
Copy link

Hi,

Firefox Nightly has a new fancy feature that shows what plugins make it slow. It started complaining about TrelloScrum among others. Please check it out! I disabled a handfull of plugins (including this one) and now FF is very fast.
This feature will land in Firefox 38 (I think) so users that use the stable FF will start to complain in April. Check out this calendar https://wiki.mozilla.org/RapidRelease/Calendar#Future_branch_dates

Here is the FF feature in bugzilla https://bugzilla.mozilla.org/show_bug.cgi?id=1071880
I don't think TrelloScrum makes only FF Nighlty slow, I think it makes all versions slow but Nightly shows a message to the user.

Thank you for building this addon!

@eterps
Copy link

eterps commented Feb 26, 2015

It definitely makes Firefox 36 slow. Just disabling TrelloScrum reduces CPU usage by an order of magnitude.

@SeanColombo
Copy link
Contributor

Just wiggling my mouse around on Trello (specifically when it goes over cards) makes the CPU spike in Firefox. It looks like it might be slower with the extension enabled... will dig into it...

@SeanColombo
Copy link
Contributor

I've poked at it more & can't find a correlation (at least in Firefox 36.0) between the extension being enabled and CPU usage. Once a Trello page loads, the CPU is high for a while until it calms down. A while after the page loads, my CPU usage (on a fairly old computer) drops to low single-digits and stays there. I can mouse around in the empty area of the board, but when I mouse around over actual cards (which causes them to change highlight a bit), the CPU spikes to 40-60%. Having the extension enabled or disabled (I'm using ScrumForTrello v1.91) doesn't seem to be able to affect the numbers at all.

If everything is working as designed (which obviously is NOT a given), the extension should only be using noticeable CPU when the DOM changes since it's using the Firefox-endorsed MutationObservers to listen for changes.

@andreicristianpetcu I've left a comment on the bugzilla Bug to get more info. If the CPU spike only occurs when the DOM is modified, then I'll have to start shaving the yak, but I'm not sure we'll ever be able to get it below whatever their threshold is. If the CPU issue is on-going during idle-time, then there is likely a significant bug we can fix in the Firefox version of the extension. If you happen to already know which is the case for CPU usage, please fill me in. :) Thanks for reporting the issue!

@andreicristianpetcu
Copy link
Author

@SeanColombo Thank you for providing more info. When I first used the Firefox with the new version I disabled the "slow" extensions and reported bugs. Now I will enable again ScrumForTrello and tell you if I notice anything else. Apparently the ff devs plan to offer more info to extension developers about what makes it slow.

@SeanColombo
Copy link
Contributor

@andreicristianpetcu oh cool, that'll be helpful. At the moment I'm a little in the dark, so I think I'll kick the can down the road a month or two until we get closer to the new release date in Mid-May. Hopefully their tools will have settled down a bit by then & I'll be able to get a clearer picture (and also, hopefully fix it before v38 goes live). Thanks again!

@andreicristianpetcu
Copy link
Author

Glad to help! Thank you!

@andreicristianpetcu
Copy link
Author

I have TrelloScrum enabled again on nightly and it complains that it makes my browser slow even on https://plus.google.com Can you please check if any of your plugin's code gets executed on other pages that are not related to Trello? Thank you!

@andreicristianpetcu
Copy link
Author

My TrelloScrum is 1.92

@tomweingarten
Copy link

I'm also experiencing this same problem in Firefox 36 with the latest Trello Scrum. I've been really enjoying the extension, please let me know if there's any additional info I can provide to help diagnose the problem!

@Stephen-Cronin
Copy link

Hi All,

I've been having the same problems and found the following:

When I have the FireFox version enabled, Trello starts making calls to a URL starting with "https://trello.com/1/batch?urls=%2FMember%2F" every 3 seconds. This bogs down the entire browser. Once I disable this extension (and restart FF), Trello stops making those calls and everything is snappy again. Not sure what it is doing or why (it's getting info back about modelIxUpdate whatever that is).

Not sure what is causing that, but hopefully hopefully that will give someone an idea about what's happening...

@alexmills
Copy link

Also having the same issue, with the plugin enabled in Firefox 41:
screen shot 2015-09-03 at 9 57 49 am
And with it disabled:
screen shot 2015-09-03 at 9 56 58 am

And that's with the tab in the background, no user interaction.

@andreicristianpetcu
Copy link
Author

Nightly with about:performance
screenshot from 2015-09-03 09 44 40

@pleinolijf
Copy link

Same issue here on Firefox (regular update channel - currently 40.0.3). I had to disable the plugin, because it caused the browser to take at least +10% CPU pretty constantly, which in turn causes my laptop to turn up the cooling fan - making annoying noise. Note that this also happens when the Trello tab is inactive, even when I'm not using the browser. After a while it would temporarily settle down again, only to start again when I touch my browser.
Now disabled, I haven't had the cpu load again. I don't see the big spikes when mousing over Trello cards without the ScrumForTrello add-on enabled, so I do believe it is the add-on that causes the cpu load (and sluggish browser behaviour).
Additionally, I don't seem to remember that I had this problem in the past (couple of months back), I think it only started to pop up somewhere in August...

Hope this helps.

@allanlaal
Copy link

same issue on a Firefox 40.0.3

@bbatha
Copy link

bbatha commented Nov 3, 2015

Still an issue in firefox 41 and 42.

@bardo
Copy link

bardo commented Nov 25, 2015

Confirmed for Firefox 42 on Arch Linux.

@SeanColombo
Copy link
Contributor

This seems like a lot of reports, so I can assume this is a fairly consistent problem from Firefox ~40 upward.

I have a laptop with Firefox 42 and Windows 8 and I can get it to go up to around 4% CPU idling on a Trello board with a ton of cards. Without the extension it was idling between 0-1%. Although those numbers are fairly low, mousing around the board shows a ton of lag, there is a highlight on the moused-over card and that is WAY behind where the actual cursor is.

I used the "Performance" tool in Firefox to try to figure out where the lag is coming from. I started profiling, moused around for several seconds, then stopped it. The perf tool said there was an average of about 1.7 Frames Per Second during that time. During this time, 75% of the time is in jQuery.event.add/elemData.handle (which is a child of jquery.event.dispatch which is a child of jquery.event.fix).

I'm not sure what that's related to, but maybe it's just because I'm using a fairly old version of jQuery and they have a call in there which runs really slowly on the newer FF. jQuery is usually quite good at fixing that kind of stuff, so I'll think the next step will be to try a newer version of jQuery in the extension.

@andreicristianpetcu
Copy link
Author

I'm enabling the extension again. I use the Nightly build :D 45.0a1 (2015-12-13)
The way I remember was that it also made Firefox slow on other web sites when I had Trello closed or on a inactive tab.

@SeanColombo
Copy link
Contributor

I upgraded jQuery, then tested the currently-released 1.95.2 and the new (upgraded jQuery version) 1.96.1.

The 1.95 version idles at 4%, and the new one idles at 1%, both when Firefox is focused. My Firefox has NO other addons and no other tabs open.

The one strange thing though, this board I'm testing on has a lot of cards and is EXTREMELY frustratingly slow even when I remove my extension (so this is completely bare FF w/no extensions & no other tabs open) so it seems like using Firefox for large Trello boards is not a good idea in general, but at least this extension won't be contributing to the problem once I push this update.

@SeanColombo
Copy link
Contributor

The newer version (1.96.1) has been submitted to Firefox for review. Would love to hear how it performs for others:
https://addons.mozilla.org/en-US/firefox/addon/scrum-for-trello/versions/?page=1#version-1.96.1

@SeanColombo
Copy link
Contributor

Version 1.96.1 is now the official release version ( http://scrumfortrello.com/ ). Performance seems great for me.

Since so many people had the issue, I might wait for someone to confirm that it's better for them too, then close the issue. @andreicristianpetcu: how does it look for you?

@andreicristianpetcu
Copy link
Author

@SeanColombo I just installed it, I do not have time to test it now. I will tell you in one or two days.

@SeanColombo
Copy link
Contributor

@andreicristianpetcu awesome, thank you! :)

@bbatha
Copy link

bbatha commented Dec 22, 2015

The new version is faster than the old. But after a few minutes my ram usage starts to shoot up and firefox locks up occasionally while collecting gc cycles.

@SeanColombo
Copy link
Contributor

@bbatha is this the same behavior you see without the extension though? I've noticed that Trello has some serious performance issues in Firefox (with no Add Ons installed and no other tabs open)... just want to get a sense of where the problem is.

@bbatha
Copy link

bbatha commented Dec 22, 2015

@SeanColombo no, trello is generally pretty snappy for me. Using the trello for scrum addon makes it markedly slower.

@SeanColombo
Copy link
Contributor

@bbatha I'm having trouble reproducing that w/the new version... maybe it's the types of boards I'm trying or something? The boards that you're looking at: lots of cards or few cards?

@bbatha
Copy link

bbatha commented Dec 22, 2015

@SeanColombo I have 200+ cards in the board it seems to drag on a board with around 100 cards too. I haven't tried smaller than that.

@SeanColombo
Copy link
Contributor

@bbatha The board for Burndown for Trello has 177 cards which is right in that same zone. The site is pretty responsive for most things, but really slow when mousing over cards (the backgrounds turn gray when you're moused over... they just do that much slower in Firefox than in other browsers) and this behavior is identical for me whether Scrum for Trello is enabled or not.

Just to make sure it wasn't all in my head, I ran the profiler for ~10 seconds with the extension disabled, and ~10 seconds with it enabled and looked at the results. All of the time in both appears to be spent in Trello code (the "cloudfront" lines are Trello code... they use cloudfront as their CDN):
http://screencast.com/t/Tu2XZ3p6K
If you expand the "Gecko" section on either side of the screenshot, they're both just 3 lines... all from Cloudfront also.

Not really sure where to look next. If you press F12 to pull up the profiler, are you able to get different results? Just to verify: are you testing this in Windows also?

@Stephen-Cronin
Copy link

It's looking good to me so far. I've had Firefox (on Win 8.1) open for about 6 hours and it's still working smoothly and it's not making those URL calls every 3 seconds like I reported above. I haven't been using it heavily, but in the past it would have been bogged down for sure by now.

Trello is slightly slower in general in Firefox than in Chrome, but there's a huge difference between that and what was happening before.

Thanks for making the change! :)

@bbatha
Copy link

bbatha commented Dec 23, 2015

@SeanColombo I'm on windows 7 64 bit with FireFox 43.0.2 64 bit. I also have trello running in a pinned tab, if that matters for anything.

Here are the profiler screenshots
without Trello Scrum and
with Trello Scrum. With trello scrum enabled my total firefox memory usage climbs around 100MB in under a minute. The performance and memory differences are most notable switching after switching boards. Without the addon after switching boards memory usage spikes and lowers a few seconds later, with the addon it never seems to be reaped.

I also restarted firefox between runs, if I just disable trello for scrum in the about:addons window it doesn't seems to help until I restart firefox. Both profiles were taken on a fresh run with the same tabs open.

@andreicristianpetcu
Copy link
Author

It seems fine for me. I was only interested in CPU, not RAM. Also I had a problem that ScrumTrello seemed to be eating my CPU even when I was not using Trello.

The performance seems nice now. Thank you!

@ghost
Copy link

ghost commented Jul 16, 2016

So we are in 2016 , and the problem still exist, i hope you find a fix for it.
i appreciate all the effort you put into this. it's very important extensions.

@SeanColombo
Copy link
Contributor

@minaaboud: this could be something different. From the comments in this thread, one person saw a memory issue still, but it looks like all of the CPU issues were sorted out. What's the problem that you're seeing, what OS is it on, and does it happen for all Trello boards or only when the extension is on? Thank you! :)

@seidler2547
Copy link

I tried enabling the plugin today again on my Firefox 51 (Linux 64bit) and still it makes my browser very slow. It takes about 4-5 minutes until the CPU usage settles down, but then any action in Firefox, even scrolling this Github page up and down makes it spike to 100% CPU and very slow to use. I have uBlock origin installed but no other extensions. I actually need to restart the browser to make the lagginess go away.

@seidler2547
Copy link

Here is a test case that makes it reproducible for me:

Measure CPU usage without plugin:

  • run /usr/bin/time firefox -no-remote -p TrelloScrum https://github.com/Q42/TrelloScrum/issues/78
  • wait until CPU usage settles down, quit Firefox
  • user will be the dominant value showing how much CPU time Firefox used
  • repeat to get the baseline CPU usage

CPU usage with plugin:

  • now start up, install plugin, quit
  • repeat the measurements from above (hint: CPU usage settles to <10% but way later than before)

This gives around 100% CPU usage increase on my machine (from ~20sec to ~38-42sec).

@SeanColombo
Copy link
Contributor

SeanColombo commented Feb 10, 2017

@seidler2547 thanks for the info. So in your example, it doesn't seem to be like "leaking" CPU usage (eg: using it all the time for no reason), it just makes it take longer to load Trello pages, right?

For comparison: just opened it on FF51 on Windows. It loads almost immediately & CPU usage never goes to 100% (although I'm not sure the comment was claiming it goes to 100%, just rather that it's 100% higher with the extension during loading than without the extension during loading).

@SeanColombo
Copy link
Contributor

@seidler2547 actually... followup question: your test-case makes it sound like a pretty minor difference in CPU usage, and only during page-load, but your original report indicated that it totally slammed your browser even on this github page. What do you think is causing the difference? Did you have several Trello tabs open in your normal environment?

@seidler2547
Copy link

@SeanColombo it also uses CPU when no activity is happening, i.e. all the loading indicators in the tabs have stopped and I see the favicon, but top still shows a lot of CPU. It periodically (maybe every minute or so?) spikes to 100% for a couple of seconds (maybe when Trello reloads using AJAX?).

Letting it sit for some time (5 minutes or so) it used about 1m10s CPU time until it wasn't generating a lot of load anymore. Without the plugin it used only 25s (adding firefox and plugin-container CPU times).

It also seems that the plugin forces another process/thread model because when the plugin is enabled, I do not see a plugin-container process as is present without it.

It could be that because of this, the general slowdown of Firefox is more noticeable because the CPU usage affects the only Firefox process more than it would if there were two processes. But I can't tell for sure.

I usually have at least two Trello tabs pinned and sometimes an additional one open in my normal environment. I also have about 15-20 tabs open, 8 of them pinned and then some others. That is not a problem normally, it takes a minute or so to start but then it's very smooth.

It might be that if I wait 10 minutes or more that my normal browser profile would also settle down. I didn't have enough mental strength yet to go through this.

@seidler2547
Copy link

Just to add, it also makes every new page load slower by the same amount, so in the new profile if I go and open a new page, it takes much longer.

So for example open http://www.heise.de in a new tab - without plugin: approx. 9s until loading indicator stops. With plugin: between 22s and up to to 35s (!!) until loading indicator stops, UI seems blocked at lot, loading indicator hangs a good number of times until it continues to spin.

@seidler2547
Copy link

Looking even further into this, it seems that even just having this Trello board open: https://trello.com/b/nPNSBZjB/trello-resources in any tab makes even opening and closing a new tab a painfully slow experience. I can burn CPU cycles on end just by pressing Ctrl+T Ctrl+W.

@SeanColombo
Copy link
Contributor

Dang. Doesn't happen in the Windows version (v51.0.1). Opened Trello-resources board and opened a ton of tabs. Sure, Firefox eats a few CPU % during the load but I can't see any lag visually :/ Will try to repro on my Linux box, hopefully tonight.

It also seems that the plugin forces another process/thread model because when the plugin is enabled, I do not see a plugin-container process as is present without it.

What can a plugin-developer do that can cause this? This extension is essentially a wrapped up user-script so fortunately the code isn't too complex. Hopefully we could find what's causing that.

I usually have at least two Trello tabs pinned and sometimes an additional one open in my normal environment. I also have about 15-20 tabs open, 8 of them pinned and then some others. That is not a problem normally, it takes a minute or so to start but then it's very smooth.

Yeah, that doesn't sound like it should be a problem. In Chrome I usually have like 7 Trello boards (each one as a tab) then another 150 tabs or so & I don't get a slowdown there. I'd hope we could accomplish the same on FF.

It might be that if I wait 10 minutes or more that my normal browser profile would also settle down.

Yeah, even if that's possible... if that's what it takes then we clearly have a problem to fix.

Thanks again for all of the info.

@Laski
Copy link

Laski commented Mar 27, 2017

I can confirm this is still happening in Linux with FF 52.0

@SeanColombo
Copy link
Contributor

@Laski I'm pretty slammed at the moment, so I don't have time to debug the issue in the Linux/FF version right now. The extension is pretty straightforward Javascript... if you manage to figure out what code is causing the problem in Linux/FF, I'll try to make a fix & get it out as fast as possible. Sorry that I can't jump on this more directly

@bickycheese
Copy link

bickycheese commented Apr 5, 2017

I too can confirm I'm still having this issue but on Chrome.
Incognito tab also uses 50-100% less memory and the non-incognito tab seems to be using more CPU (even when idle)..

@SeanColombo
Copy link
Contributor

@stannynuytkens if you're seeing it on Chrome, that's a new issue for us. Are you on Win/Mac/Linux?

@cflagg
Copy link

cflagg commented May 22, 2017

I can confirm the TrelloScrum extension is significantly impacting performance on Chrome (Version 58.0.3029.110 (64-bit)) on my Windows 10 computer. The extension essentially makes Trello unusable, as the entire Trello board lags by 5-10 seconds in creating new cards, updating cards, and moving cards across lists.

Chrome CPU usage sits at around 3% for me until I open a Trello board, then CPU usage jumps to 30% and does not go down. Disabling TrelloScrum immediately reduces CPU usage.

@SeanColombo
Copy link
Contributor

@cflagg thanks for the feedback! I use the extension on latest Chrome/Windows 10 every day and don't run into this problem. Is there anything unique about your board that might help me reproduce the problem? Eg: do you have 10,000+ cards on the same board... do you have more than about 10 lists, anything unique like that that might help me repro on my end as well? Thanks!

@cflagg
Copy link

cflagg commented May 23, 2017

@SeanColombo No prob. I have access to 30 boards (I work across multiple teams) that vary in their configuration. One board has 7 lists and a couple hundred cards (nothing archived). Another board has 11 lists and a couple dozen cards. On the minimal side, there's a 5 list board with 7 active cards. I experienced big slow downs on all of them.

One final detail I can think of is I turned on the "Burndown Charts" power-up at around the same time as TrelloScrum. I have two apps with access to my Trello boards, Burndown Charts and Trello for Android.

@SeanColombo
Copy link
Contributor

@cflagg hmm, there's nothing that sounds weird about those boards. I also have the Burndown Charts power-up enabled on most of my boards. I'll have to dig deeper at some point. If you find anything specific that you think is causing it, please let me know!

@cflagg
Copy link

cflagg commented May 23, 2017

@SeanColombo Will do. Please let me know if there's something else I can do to diagnose the issue (would I find hints in the browser console, or is there another extension I can use?). Definitely would like to use the scrum points to highlight which tasks to prioritize!

@SeanColombo
Copy link
Contributor

@cflagg there isn't anything I can think of in the console, but now there is a pretty good "Performance" tab in Chrome (to the right of the Console tab) which might be able to give a better idea of where things are going wrong. Thanks for all of the help!

@SeanColombo
Copy link
Contributor

Submitted v 1.101 to Firefox which makes it a WebExtension now, so the profiling for the Legacy version probably is obsolete now.

On OS X, Activity monitor with Firefox just having one Trello tab open (fairly large board) shows CPU of 0.33% without the extension and around 1-3% most of the time, with extension. So there's definitely something consuming more resources than we'd want. Since I couldn't get it to hang for me on the legacy (pre-WebExtension) version, I'm not sure if this is just annoying or if it will be unreasonably slow for users. If you upgrade to 1.101, please let me know if the performance feels okay on your boards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests