STR: 1. Open 1000 tabs. Here's one easy/reliable way to do this: (a) open `about:preferences`, "Home" section (b) for `Homepages and New Windows`, choose "Custom URLs" (c) In the "Paste a URL..." textfield, paste in the contents of the attached text file (which is just 1000 repetitions of `about:robots|`) (d) Open a new window. That new window will get 1000 `about:robots` tabs. (2) Wait a bit (maybe 30-60sec, up to you) for your tabs to finish loading (just to minimize contention & background noise in the profile). (3) In your newly-opened window with 1000 tabs, open an additional tab with some fullscreenable site, e.g. https://davidwalsh.name/demo/fullscreen.php (4) Start profiling (Ctrl Shift 1) (5) Click the button in the site to enter fullscreen mode. (6) Wait a few seconds, and press Esc to exit fullscreen mode. (7) Capture your profile (Ctrl Shift 2) ACTUAL RESULTS: The resulting profile shows a few fairly-long restyles/reflows in the parent process, which are associated with the fullscreen operation. The length of this operation seems to grow with the number of tabs. EXPECTED RESULTS: Fullscreening web content should not cause substantial jank (and probably shouldn't cause jank that's dependent on your number of tabs). Here's a profile of the STR (with 1000 about:robots tabs), zoomed in to the part where we enter fullscreen mode: https://share.firefox.dev/32m7XtJ ...and when we exit fullscreen mode: https://share.firefox.dev/3FPZqg7 In both cases (for entering and exiting), there are two long (over 100ms) restyles. This is on my fast hardware; on slower user hardware, this is probably substantially longer. (bug 1733227 comment 8 is an example) For comparison: if I perform the STR without having opened any/many tabs, then the restyles are pretty trivial/short.
Bug 1751484 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
STR: 1. Open 1000 tabs. Here's one easy/reliable way to do this: (a) open `about:preferences`, "Home" section (b) for `Homepages and New Windows`, choose "Custom URLs" (c) In the "Paste a URL..." textfield, paste in the contents of the attached text file (which is just 1000 repetitions of `about:robots|`) (d) Open a new window. That new window will get 1000 `about:robots` tabs. (2) Wait a bit (maybe 30-60sec, up to you) for your tabs to finish loading (just to minimize contention & background noise in the profile). (3) In your newly-opened window with 1000 tabs, open an additional tab with some fullscreenable site, e.g. https://davidwalsh.name/demo/fullscreen.php (4) Start profiling (Ctrl Shift 1) (5) Click the button in the site to enter fullscreen mode. (6) Wait a few seconds, and press Esc to exit fullscreen mode. (7) Capture your profile (Ctrl Shift 2) ACTUAL RESULTS: The resulting profile shows a few fairly-long restyles/reflows in the parent process, which are associated with the fullscreen operation. The length of the restyle/reflows seems to grow with the number of tabs. EXPECTED RESULTS: Fullscreening web content should not cause substantial jank (and probably shouldn't cause jank that's dependent on your number of tabs). Here's a profile of the STR (with 1000 about:robots tabs), zoomed in to the part where we enter fullscreen mode: https://share.firefox.dev/32m7XtJ ...and when we exit fullscreen mode: https://share.firefox.dev/3FPZqg7 In both cases (for entering and exiting), there are two long (over 100ms) restyles. This is on my fast hardware; on slower user hardware, this is probably substantially longer. (bug 1733227 comment 8 is an example) For comparison: if I perform the STR without having opened any/many tabs, then the restyles are pretty trivial/short.