[Webkit-unassigned] [Bug 90019] [chromium] Add time spent painting to GPU benchmarking renderingStats() API.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jul 2 12:36:07 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=90019





--- Comment #8 from Nat Duca <nduca at chromium.org>  2012-07-02 12:36:07 PST ---
(In reply to comment #7)
> (In reply to comment #6)
> > (From update of attachment 149624 [details] [details])
> > View in context: https://bugs.webkit.org/attachment.cgi?id=149624&action=review
> > 
> > There's an interesting question of what this should report in skpicture/impl-side-painting mode.
> > 
> > These are different quantities in that case:
> > - time spent painting
> > - time spent rasterizing
> > 
> > In the regular "rasterize as you go mode" (bitmapcanvaslayertextureupdater) mode, should we just say "rasterizing time is zero"?
> > 
> > >> Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp:471
> > >> +    m_timeSpentPainting = monotonicallyIncreasingTime() - updateBeginTime;
> > > 
> > > updateLayers() covers more than just painting.  for instance, a canvas 2d layer will do a flush here, image layers will prepare texture uploads, WebGL layers will issue multisample resolves etc
> 
> So, "painting" is defined as specifically the GraphicsContext calls, and "rasterizing" includes the rest of all of that stuff?

Painting is time spent calling webkit's paint method. Depending on what type of canvas we pass it, it could be either definition. You want to measure the time spent by us calling back to LayerPainterChromium's paint method.

> How can you ensure that you've checked it at adjacent frames? Maybe it should have both the total and the last one, or last ten?

One thing you could do is track the number of pixels painted. E.g. the cumulative area of the rectangles passed into paint. So we can get, e.g. megapixels/second instead of just paint time. That would be very useful.

If we need "exact time painting since last frame" we can use requestAnimationFrame, no?

> No, double precision is far greater than the precision of the measurements, which is probably about millisecond-precision (depending on platform). But that leads to another question, are we okay with this level of precision on the individual measurements?

monotonicallyIncreasingTime is accurate to microseconds. But, yes I'm happy with that. Paint times are in the tens to hundreds of ms per frame.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list