Open
Bug 1482264
Opened 6 years ago
Updated 17 days ago
Lots of paints during tab switch
Categories
(Core :: DOM: Content Processes, defect, P3)
Core
DOM: Content Processes
Tracking
()
NEW
Performance Impact | low |
People
(Reporter: jrmuizel, Unassigned)
Details
(Keywords: perf:resource-use, perf:responsiveness)
4 paints per tab switch 3 of new, one of old https://perfht.ml/2w11al5
Updated•6 years ago
|
Flags: needinfo?(mconley)
Whiteboard: [fxperf]
Comment 1•6 years ago
|
||
I can reproduce this, with or without WebRender. STR: 1. Open two tabs, where the 1st tab has some text that you can select. 2. In the first tab, select some text. 3. Start the profiler 4. Switch to the 2nd tab without deselecting the text ER: No paint occurs for the tab we're switching away from. AR: A paint occurs in the backgrounded tab because we're blurring the selection: https://searchfox.org/mozilla-central/rev/aff5d4ad5d7fb2919d267cbc23b1d87ae3cf0110/layout/base/nsDocumentViewer.cpp#3835 I think this is happening because we don't drop the layers and deactivate the PresShell of the backgrounded tab right away. We might want to do something else for backgrounded tabs so we can keep their layers around but make them cheaper to have back there.
Component: Tabbed Browser → DOM: Content Processes
Flags: needinfo?(mconley)
Product: Firefox → Core
Updated•6 years ago
|
Whiteboard: [fxperf] → [fxperf][qf]
Comment 2•6 years ago
|
||
For the paints on the tab we're switching to, the first paint is one with displayport suppression enabled to optimize tab switch time, the second with suppression disabled to avoid checkerboarding. The third is because Google Docs is, I believe, updating itself based on the visibility state firing. So the one I think we might want to optimize is the background-ing tab with the selection.
Comment 3•6 years ago
|
||
In the profile from comment 0, it seems optimizing out the paint of the tab we are switching away from wouldn't have a visible performance impact because the 2 tabs happen to be on different content processes. So this would help more with battery usage than with speed. So I'm tempted to make this p3. But on the other hand, doing useless paints is something we should really avoid, and hopefully add regression tests for, so I'm also tempted to put a higher priority.
Whiteboard: [fxperf][qf] → [fxperf:p3][qf]
Updated•6 years ago
|
Whiteboard: [fxperf:p3][qf] → [fxperf:p3][qf:p3:f67]
Updated•6 years ago
|
Whiteboard: [fxperf:p3][qf:p3:f67] → [fxperf:p3][qf:p3]
Updated•5 years ago
|
Priority: -- → P3
Updated•2 years ago
|
Performance Impact: --- → P3
Whiteboard: [fxperf:p3][qf:p3] → [fxperf:p3]
Updated•2 years ago
|
Severity: normal → S3
Updated•17 days ago
|
Keywords: perf:resource-use,
perf:responsiveness
Whiteboard: [fxperf:p3]
You need to log in
before you can comment on or make changes to this bug.
Description
•