[meta] "List all tabs" dropdown list is slow with many tabs (~750), takes 2-3 seconds to show
Categories
(Firefox :: Tabbed Browser, defect, P5)
Tracking
()
People
(Reporter: nivtwig, Unassigned)
References
(Blocks 2 open bugs)
Details
(Keywords: meta, perf, Whiteboard: [fxperf:meta])
Comment 2•8 years ago
|
||
Updated•8 years ago
|
Comment 5•8 years ago
|
||
Comment 6•8 years ago
|
||
Updated•8 years ago
|
Comment 7•7 years ago
|
||
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Comment 10•7 years ago
|
||
Updated•6 years ago
|
Updated•5 years ago
|
Comment 11•5 years ago
|
||
Emilio just did a bunch of work to enable lazy (as opposed to eager, which we've had ~forever) frame construction for XUL in bug 1584935, in part because I saw the frame construction making a difference when I profiled some of the slowness here. I need to verify that we're seeing a positive impact from that, and doublecheck what's left. I have some ideas on how to make this faster still.
Though, as I'm writing thoughts down here anyway: part of me also wonders if there's some way of doing this that doesn't involve actually adding all the DOM nodes. I don't really think a menu with 6000 (cf bug 1634172) items (or really, anything over about 50-100) is actually usable. Perhaps we should only show the visible tabstrip in full, and add a search field into the menu to filter by to find other tabs, or something. Though then again, you can already do this from the address bar...
Comment 12•5 years ago
|
||
As expected, this is significantly better. I filed bug 1639925 for some more optimizations (that'll benefit this case but also other toolbarbutton-using tasks).
Comment 13•5 years ago
|
||
I would like to add two observations (using firefox 76.0.1 as test case):
-
list-all-tabs (v widget) can be fast in a freshly started firefox, even with almost 4000 tabs. Both initial presentation of list and scrolling will be fast.
-
list-all-tabs SCROLL performance can be VERY slow after firefox has been running for hours or days, even if the initial presentation of list-all-tabs is still quite fast.
Comment 14•5 years ago
|
||
(In reply to reikred from comment #13)
- list-all-tabs SCROLL performance can be VERY slow after firefox has been running for hours or days, even if the initial presentation of list-all-tabs is still quite fast.
This seems like a separate issue. Please file a separate bug and include a profile from the Firefox profiler that shows the slowness.
Comment 15•5 years ago
|
||
(In reply to :Gijs (he/him) from comment #14)
(In reply to reikred from comment #13)
- list-all-tabs SCROLL performance can be VERY slow after firefox has been running for hours or days, even if the initial presentation of list-all-tabs is still quite fast.
This seems like a separate issue. Please file a separate bug and include a profile from the Firefox profiler that shows the slowness.
I'll start by posting the requested profile here. If you think this problem is unrelated, I can create a separate bug. I'm not skilled at interpreting firefox profiles, so please take a look.
Here it is: https://perfht.ml/3eifzxp
Comment 16•5 years ago
|
||
(In reply to reikred from comment #15)
(In reply to :Gijs (he/him) from comment #14)
(In reply to reikred from comment #13)
- list-all-tabs SCROLL performance can be VERY slow after firefox has been running for hours or days, even if the initial presentation of list-all-tabs is still quite fast.
This seems like a separate issue. Please file a separate bug and include a profile from the Firefox profiler that shows the slowness.
I'll start by posting the requested profile here. If you think this problem is unrelated, I can create a separate bug. I'm not skilled at interpreting firefox profiles, so please take a look.
Here it is: https://perfht.ml/3eifzxp
Thanks! Yes, this is a separate bug. We get stuck for actual seconds in trying to get information out of X11 (via nsIFrame::GetScreenRectInAppUnits
). Please file a new bug and clarify what kind of setup you're seeing this on (wayland, x11, one of those pretending to be the other, what desktop env, distro, etc.). It would also be useful if you could clarify what kind of jank you're seeing (like, is it "just" dropped frames, or does painting happen quickly but it seems like scroll events are not being processed, or something else), and how you're scrolling (mousewheel, keyboard, something else)
Updated•5 years ago
|
Comment 17•4 years ago
|
||
It appears to me that the bug has gotten fixed as a byproduct of some other code changes. I no longer experience that "List all tabs" dropdown list is slow with many tabs. I think it is ok to close this bug now.
Comment 18•4 years ago
|
||
bug 1356765 was about menus, but we use a panel now, and for the panel bug 1666497 was a recent fix that may have helped a bit here.
I'll close this, though comment #16 would suggest that the last issues reikred saw were more of a widget issue - if people are still seeing significant slowness here, please comment, ideally with a profile from the firefox profiler (see https://profiler.firefox.com/ ) that shows the slowness.
Description
•