Re: [NavigationTiming2] Comments and questions about the Navigation Timing 2 draft

On 10/10/12 10:33 PM, Ilya Grigorik wrote:
> Boris, could you elaborate on this?

Sure.  How are you defining "first paint"?

Is it when the page bits start being converted to a display list?  When 
the display list starts being rasterized to buffers?  When rasterization 
finishes?  When compositing of the buffers starts?  When it finishes? 
What happens when compositing starts before rasterization finishes? 
What happens if compositing is happening completely in parallel with 
everything else that's going on, on a separate thread or in a separate 
process?  Do you still care when it starts or stops?  Same question 
about rasterization.

Or more to the point, what information are people actually looking for 
from this "first paint" value?

And note that if what they're looking for is "user sees something" then 
none of the above are correct and the correct number is when something 
appears on the monitor, which can be many milliseconds (sometimes 
hundreds of milliseconds) after all the things I mention above.

 > As Mike mentioned, Chrome provides first paint time, and I believe IE
 > does as well..

Providing a number is easy.  I can always provide a number.

Whether the number means anything, and whether the concept that number 
represents is tied to a particular rendering architecture are much more 
interesting questions for purposes of standardizing it.  What we need to 
do is figure out what information people are actually looking for here, 
then define the "first paint" time as returning it.

> Looking at the Chrome source, it looks to be the
> "literal" first paint:
> http://code.google.com/searchframe#OAMlx_jo-ck/src/content/public/renderer/document_state.h&exact_package=chromium&type=cs&l=105

That link says nothing about when set_first_paint_time is actually 
called, right?  Am I missing something?

> Is that a reasonable definition. If not, why not?

The link above sure doesn't look like a reasonable definition to me, or 
any sort of definition at all...  But it _is_ a good counterexample to 
"defined in a sane way".  ;)

-Boris

Received on Thursday, 11 October 2012 02:45:10 UTC