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
renderTime
paintTime ✨
presentationTime ✨
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…