Closed
Bug 778036
Opened 12 years ago
Closed 12 years ago
Cross-process+omtc layers causing up to 5x excessive recomposites
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla17
People
(Reporter: cjones, Assigned: mattwoodrow)
References
Details
Attachments
(4 files)
2.11 KB,
patch
|
roc
:
review+
|
Details | Diff | Splinter Review |
4.57 KB,
patch
|
roc
:
review+
|
Details | Diff | Splinter Review |
4.66 KB,
patch
|
roc
:
review+
|
Details | Diff | Splinter Review |
2.34 KB,
patch
|
cjones
:
review+
|
Details | Diff | Splinter Review |
STR
(1) Flash an otoro with latest everything
(2) Turn on the FPS monitor
(3) Fire up the crystalskull webgl demo
The FPS monitor reports 30-40fps, but it's obviously running at 5-10fps.
(4) Force crystalskull back in-process (https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/window_manager.js#L404)
(5) Reinstall gaia
(6) Fire up demo again
The performance is qualitatively the same (because we still have to read back), but this time it reports the more believable 5-10fps.
Something in our cross-process gfx pipeline is forcing us to recomposite *way* too much.
Betting it's sometime to do with http://mxr.mozilla.org/mozilla-central/source/dom/ipc/TabChild.cpp#1134 .
Reporter | ||
Updated•12 years ago
|
Summary: Cross-process layers causing up to 5x excessive recomposites → Cross-process+omtc layers causing up to 5x excessive recomposites
Assignee | ||
Comment 2•12 years ago
|
||
Attachment #648049 -
Flags: review?(roc)
Assignee | ||
Comment 3•12 years ago
|
||
Attachment #648051 -
Flags: review?(roc)
Assignee | ||
Comment 4•12 years ago
|
||
This helps, but still doesn't really fix the issue. We still have the problem where FrameLayerBuilder sets the visible region / transform multiple times and this as marked as a mutation.
DLBI's layer tree comparison code can fix this properly, not sure if it's worth separating that out, or just taking this for now and waiting for DLBI.
Attachment #648054 -
Flags: review?(roc)
Assignee | ||
Comment 5•12 years ago
|
||
This doesn't appear to cause any issues as the comment suggested it did.
Attachment #648055 -
Flags: review?(jones.chris.g)
Attachment #648049 -
Flags: review?(roc) → review+
Attachment #648051 -
Flags: review?(roc) → review+
Attachment #648054 -
Flags: review?(roc) → review+
Reporter | ||
Comment 6•12 years ago
|
||
Comment on attachment 648055 [details] [diff] [review]
Only call SendNotifyCompositorTransaction on the first paint
We still need this because of the SetCurrentRemoteFrame() hack in RenderFrameParent, but we probably can't kill that without breaking xul-fennec so this looks good. Tested thoroughly on device.
Not sure what the problem was originally then ... oh well!
Attachment #648055 -
Flags: review?(jones.chris.g) → review+
Assignee | ||
Comment 7•12 years ago
|
||
Whiteboard: [leave open]
Comment 8•12 years ago
|
||
Assignee | ||
Comment 9•12 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/9f6f9b74d685
https://hg.mozilla.org/integration/mozilla-inbound/rev/78ffaa79a3de
https://hg.mozilla.org/integration/mozilla-inbound/rev/28f8ce199bed
Whiteboard: [leave open]
Comment 10•12 years ago
|
||
Sorry, I had to back this out because it caused all native Android tests runs to crash/timeout:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a525ac9349eb
Reporter | ||
Comment 11•12 years ago
|
||
Really want to get this landed. Fired off new try build
https://tbpl.mozilla.org/?tree=Try&rev=e5f3dce74a95
Reporter | ||
Comment 12•12 years ago
|
||
Hopefully with less -Werror bustage
https://tbpl.mozilla.org/?tree=Try&rev=d84b01e75b64
Reporter | ||
Comment 13•12 years ago
|
||
Comment 14•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c22f375fec38
https://hg.mozilla.org/mozilla-central/rev/fa5e8b9e9a44
https://hg.mozilla.org/mozilla-central/rev/833cc8c891db
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla17
You need to log in
before you can comment on or make changes to this bug.
Description
•