Poor RDL performance watching youtube with live chat
Categories
(Core :: Web Painting, enhancement)
Tracking
()
People
(Reporter: mattwoodrow, Assigned: mattwoodrow)
References
(Regressed 3 open bugs)
Details
Attachments
(3 files)
Looks like the video element is being included in the area to build display items for, and we're building a lot more than we should otherwise need.
Assignee | ||
Comment 1•5 years ago
|
||
Assignee | ||
Comment 2•5 years ago
|
||
Depends on D23608
Assignee | ||
Comment 3•5 years ago
|
||
If the frame supports it (stacking context + containing block for fixed), and a descendant was
modified, we would have created an override dirty region with just the area of that descendant.
In the case where no descendants are modified, we should use an empty rect, rather than
the area inherited from our parent.
This fixes the case where we forcibly build position:fixed frames (since they might async
scroll differently to the rest of the page), but we only need to build the container item,
not the whole frame subtree within it.
Added a test that shows us building the non-intersecting position:fixed, but not items within it.
Depends on D23609
Pushed by mwoodrow@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f2061889974a Don't force display item rebuilding for ActiveLayerTracker expiry, since we should only need to update the Layer tree. r=miko https://hg.mozilla.org/integration/autoland/rev/a9c6e9e27b17 Don't create new display items for InvalidateLayer, since only the Layer tree should need to change. r=miko https://hg.mozilla.org/integration/autoland/rev/f7a60828b0ad Assume that we have an empty display list building override rect for frames that support it, even if an explicit one isn't present. r=miko
Comment 5•5 years ago
|
||
Backed out 3 changesets (Bug 1535507) for webvtt/rendering/cues-with-video/processing-model/selectors/cue* failures
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&selectedJob=234686704&revision=f7a60828b0ad40b755c22b978ac85c6d1d7f00db
Backout link: https://hg.mozilla.org/integration/autoland/rev/5fd21107e39400b6895c6f7b2859f933d0f6bfda
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=234676446&repo=autoland&lineNumber=40071
[task 2019-03-19T00:09:58.095Z] 00:09:58 INFO - TEST-START | /webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon.html
[task 2019-03-19T00:09:58.103Z] 00:09:58 INFO - PID 15701 | 1552954198094 Marionette INFO Testing http://web-platform.test:8000/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon.html == http://web-platform.test:8000/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon-ref.html
[task 2019-03-19T00:09:58.123Z] 00:09:58 INFO - PID 15701 | JavaScript error: resource:///modules/sessionstore/SessionStore.jsm, line 2383: TypeError: tabbrowser.getTabForBrowser is not a function
[task 2019-03-19T00:09:58.124Z] 00:09:58 INFO - PID 15701 | ++DOMWINDOW == 10 (0x7f4f9240e000) [pid = 15859] [serial = 10] [outer = 0x7f4f9c115d40]
[task 2019-03-19T00:09:58.185Z] 00:09:58 INFO - PID 15701 | JavaScript error: resource:///modules/sessionstore/SessionStore.jsm, line 2383: TypeError: tabbrowser.getTabForBrowser is not a function
[task 2019-03-19T00:09:58.186Z] 00:09:58 INFO - PID 15701 | ++DOMWINDOW == 11 (0x7f4f9be8c000) [pid = 15859] [serial = 11] [outer = 0x7f4f9c115d40]
[task 2019-03-19T00:09:58.267Z] 00:09:58 INFO - PID 15701 | 1552954198261 Marionette INFO No differences allowed
[task 2019-03-19T00:09:58.267Z] 00:09:58 INFO - PID 15701 | 1552954198261 Marionette INFO Found 1060 pixels different, maximum difference per channel 2
[task 2019-03-19T00:09:58.325Z] 00:09:58 INFO - TEST-UNEXPECTED-FAIL | /webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon.html | Testing http://web-platform.test:8000/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon.html == http://web-platform.test:8000/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon-ref.html
[task 2019-03-19T00:09:58.325Z] 00:09:58 INFO - REFTEST IMAGE 1 (TEST): data:image/png;base64,iVBORw0KGgoAAAANSUhEUg
[task 2019-03-19T00:09:58.325Z] 00:09:58 INFO - REFTEST IMAGE 2 (REFERENCE): data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA
[task 2019-03-19T00:09:58.325Z] 00:09:58 INFO - TEST-INFO took 227ms
Pushed by mwoodrow@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/74d9f16af0bf Don't force display item rebuilding for ActiveLayerTracker expiry, since we should only need to update the Layer tree. r=miko https://hg.mozilla.org/integration/autoland/rev/48726c586c4f Don't create new display items for InvalidateLayer, since only the Layer tree should need to change. r=miko https://hg.mozilla.org/integration/autoland/rev/458563d6a69e Assume that we have an empty display list building override rect for frames that support it, even if an explicit one isn't present. r=miko
Assignee | ||
Updated•5 years ago
|
Comment 7•5 years ago
|
||
Backed out for wr failures e.g line_1_wrapped_cue_grow_downwards.html
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&revision=458563d6a69e9874abd2fafb8889da378a59678b&selectedJob=234903311
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=234903311&repo=autoland&lineNumber=38020
Backout: https://hg.mozilla.org/integration/autoland/rev/1df7ae29b1214757985e5406ecababb9c08b0a9c
font_properties.html : https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=234889944&repo=autoland&lineNumber=41300
Pushed by mwoodrow@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/685208691386 Don't force display item rebuilding for ActiveLayerTracker expiry, since we should only need to update the Layer tree. r=miko https://hg.mozilla.org/integration/autoland/rev/cf1aab57dbef Don't create new display items for InvalidateLayer, since only the Layer tree should need to change. r=miko https://hg.mozilla.org/integration/autoland/rev/2bf6bddf9a8a Assume that we have an empty display list building override rect for frames that support it, even if an explicit one isn't present. r=miko
Assignee | ||
Updated•5 years ago
|
Comment 9•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/685208691386
https://hg.mozilla.org/mozilla-central/rev/cf1aab57dbef
https://hg.mozilla.org/mozilla-central/rev/2bf6bddf9a8a
Comment 10•5 years ago
|
||
https://hg.mozilla.org/projects/ash/rev/68520869138680d87a1f878896e8bc0e749ca884 Bug 1535507 - Don't force display item rebuilding for ActiveLayerTracker expiry, since we should only need to update the Layer tree. r=miko https://hg.mozilla.org/projects/ash/rev/cf1aab57dbef00080a52661705f3012ae0553dd0 Bug 1535507 - Don't create new display items for InvalidateLayer, since only the Layer tree should need to change. r=miko https://hg.mozilla.org/projects/ash/rev/2bf6bddf9a8a5c52222273ee787bfca7e6c97394 Bug 1535507 - Assume that we have an empty display list building override rect for frames that support it, even if an explicit one isn't present. r=miko
Updated•5 years ago
|
Description
•