Add UMAs tracking # of layer promotions due to various causes |
|||
Issue descriptionImportant ones I can see: 1. Overlap (measures layer explosion) 2. Transform / opacity animation (see also related issue 754471) 3. Assumed overlap (can be due to animation or inline transform) 4. Overall # of indirectly composited cases. I think the way to implement this is to, in CompositingRequirementsUpdater::UpdateRecursive(), at the end when we are done with all reasons for a PaintLayer, check the CompositingReasons() bitfield for it against various conditions to see what the causes of promotion were, and increment counters accordingly. Then once CompositingRequirementsUpdater is done, output UMA integers counting each aggregation of an interesting category. Note that it's important to aggregate over all frames, so this should be done somewhere at the top level in PaintLayerCompositor.
,
Aug 23 2017
In cases of overlap, we also want to keep track of the promotion for the layer below. Since the compositor may do further squashing, counts collected in blink may not be accurate. We do a bit of compositing reason plumbing already (cf GraphicsLayerDebugInfo). We could adjust that plumbing and collect stats in CalculateRenderPasses and do reporting there. cc'd ajuma, with whom I discussed this recently.
,
Aug 23 2017
Whoops, missed a word. That should have read "promotion _reason_ for the layer below".
,
Aug 23 2017
The compositor doesn't do any squashing right now...
,
Aug 23 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by bugdroid1@chromium.org
, Aug 23 2017