ts_paint is using firstPaint to measure time to first paint. It should use firstPaint2 instead.
Categories
(Testing :: Talos, task, P3)
Tracking
(firefox126 fixed)
| Tracking | Status | |
|---|---|---|
| firefox126 | --- | fixed |
People
(Reporter: mconley, Assigned: bradwerth)
References
Details
Attachments
(1 file)
This should be using firstPaint2: https://searchfox.org/mozilla-central/rev/3b6958c26049c1e27b2790a43154caaba9f6dd4a/testing/talos/talos/startup_test/tspaint_test.html#29
firstPaint2 was introduced in bug 1556568 as the successor to firstPaint, and is a more accurate measurement. We should use that instead.
Alternatively, we could maybe use this as an opportunity to port ts_paint to mozperftest.
Updated•5 years ago
|
Updated•5 years ago
|
| Assignee | ||
Comment 1•2 years ago
|
||
I'll do it. This will be an interesting argument with perf-checking automation...
| Assignee | ||
Comment 2•2 years ago
|
||
As noted in Bug 1556568, firstPaint records when we complete the first
render that the OS tells us to do (in nsViewManager::Refresh). This
sometimes can happen much later than we would like, skewing results. It
also is sensitive to whether or not the call to FlushRendering is sync
or async, since it fires as soon as the call is complete. For these
reasons, we'd like ts_paint to measure something more consistent, which
this patch accomplishes by changing the measurement to use firstPaint2.
firstPaint2 records in nsView::DidCompositeWindow, which measures that
the pixels have been put on the screen, no matter who asked us to do it.
This solves both problems and is the superior measure.
Because this most always measure ts_paint at a later time than current
code, this will get flagged as a performance regression. We need to
instead treat it as a measurement recalibration.
Comment 4•2 years ago
|
||
| bugherder | ||
Comment 5•2 years ago
|
||
Surprised we haven't seen a perf alert from this yet, there is a definite jump in the graph exactly when this landed.
| Assignee | ||
Comment 6•2 years ago
|
||
Maybe perf team is running interference on it, disabled the alert.
Comment 7•2 years ago
|
||
It takes time for the alert to be produced, and then it takes additional time for a sheriff to investigate it. The alert has been produced, and is being triaged now.
Description
•