[SPv175+/DevTools] Paint invalidation tracking in DevTools |
||||
Issue description
We need to make sure the paint invalidation tracking feature in DevTools work for SPv175.
Currently, we send object paint invalidation events (under category TRACE_DISABLED_BY_DEFAULT("devtools.timeline.invalidationTracking") named "PaintInvalidationTracking") to DevTools. For SPv1 this also include all raster invalidation event. For SPv175+, send raster invalidation events from platform/ classes, and we may invalidate raster without invalidating object, e.g. when paint property changes.
The differences fail http/tests/devtools/tracing/scroll-invalidation.js
for SPv175 because we don't send raster invalidation events to DevTools.
I have several questions:
1. How are paint invalidation events presented in DevTools?
2. What information is required to present paint invalidation events?
,
Feb 1 2018
,
Feb 6 2018
This seems to be the paint invalidation tracking described in the doc here: https://docs.google.com/document/d/1BXT3_gD--YdbIYMlTzNGsyUUMBCZJ7V5qGJhMA-pGrs/edit With a tracking bug: https://bugs.chromium.org/p/chromium/issues/detail?id=410701 I'm going to take a look at what it looks like with and without spv175
,
Feb 6 2018
caseq@ do you know what the status of this feature is, by any chance? (you're listed as the owner of the tracking bug). I can't seem to get any useful information about this in the timeline. That is, I can't really see where this feature is used. If this has been abandoned, then maybe we should remove the code that we currently have for plumbing this information.
,
Feb 6 2018
vmpstr, this feature is still an experiment -- please open DevTools settings, proceed to Experiments tab, press Shift a few times until a bunch of new entries on a gray background appear, then tick "Timeline: invalidation tracking". Then make a Timeline recording and select any "Paint" record -- you will have "Invalidations" section in Summary pane below flame chart. The reason we keep it an experiment is that we're not happy with it being too expensive in terms of trace size and performance overhead, and lack cycles for making it better. That said, it still happens quite useful occasionally for troubleshooting of paint storms, so I think we'd like to keep at least some form of causation tracking for the paint events. The code that processes invalidation trace events is here: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/devtools/front_end/timeline_model/TimelineModel.js?rcl=e20737d1d162f7bc2037f17b0520c4458d91df58&l=1438 pdr@ is the original author, but I can probably help as well.
,
Feb 8 2018
Oh cool. I got to the experiments tab before, but I didn't know about the shift pressing :) Thanks for the instructions!
,
Dec 3
|
||||
►
Sign in to add a comment |
||||
Comment 1 by wangxianzhu@chromium.org
, Jan 24 2018