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)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla17

People

(Reporter: cjones, Assigned: mattwoodrow)

References

Details

Attachments

(4 files)

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 .
Summary: Cross-process layers causing up to 5x excessive recomposites → Cross-process+omtc layers causing up to 5x excessive recomposites
Matt is looking at this right now.
Assignee: nobody → matt.woodrow
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)
This doesn't appear to cause any issues as the comment suggested it did.
Attachment #648055 - Flags: review?(jones.chris.g)
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+
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
Really want to get this landed.  Fired off new try build

https://tbpl.mozilla.org/?tree=Try&rev=e5f3dce74a95
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: