v145 · Web APIs · Timing Comparison

Timing Comparison

All timing fields on paint-related performance entries — what each measures, which entry types carry them, and how paintTime and presentationTime (new in Chrome 145) extend the picture to the compositor.

The timeline goes: layout → paint (CPU rasterisation) → compositor handoff → GPU → display. startTime / renderTime capture layout; paintTime captures CPU paint; presentationTime captures display. The delta between paintTime and presentationTime is compositor + vsync time.

conceptual waterfall

Typical LCP entry timing fields (not to scale — illustrative)

startTime
~0ms
renderTime
~50ms
paintTime ✨
~80ms
presentationTime ✨
~110ms
layout/render start
renderTime
paintTime (CPU done)
presentationTime (on screen)

field reference

Field What it measures Pipeline phase Available since
startTime When the entry was created / the paint started being scheduled Layout / record start Always
renderTime When the frame containing this element started rendering (LCP/element only) Render frame start Chrome 77+
paintTime New When CPU rasterisation of the element finished — pixels are in the buffer but not yet composited CPU paint complete Chrome 145+
presentationTime New When the frame was actually displayed on screen — after compositor and vsync Frame presented Chrome 145+

which entries carry which fields

Entry type startTime renderTime paintTime presentationTime
largest-contentful-paint ✓ (145+) ✓ (145+)
element (elementtiming) ✓ (145+) ✓ (145+)
paint (FP/FCP) ✓ (145+)
long-animation-frame ✓ (145+)

live snapshot

Click to snapshot all available paint entries from this page load

Click "Snapshot entries" to see current timing data…

see also