Create a reftest harness option for using drawSnapshot to capture
Categories
(Testing :: Reftest, task)
Tracking
(firefox90 fixed)
Tracking | Status | |
---|---|---|
firefox90 | --- | fixed |
People
(Reporter: mattwoodrow, Assigned: mattwoodrow)
References
Details
(Keywords: perf-alert)
Attachments
(2 files)
The reftest harness currently uses drawWindow with the USE_WIDGET_LAYERS flag to capture the current contents of the compositor via readback (and thus test what we actually paint).
We don't have much test coverage for non-composited drawing paths (including snapshot drawing though), and this is going be to required for bug 1540737 which will rewrite all that code.
If we add an option to capture using drawSnapshot, we can still get images from the parent process (and correctly handles e10s+fission), but covers the new drawing path with the existing set of reftests.
Assignee | ||
Comment 1•4 years ago
|
||
Updated•4 years ago
|
Assignee | ||
Comment 2•4 years ago
|
||
Depends on D114188
Comment 4•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/b76d28f3a159
https://hg.mozilla.org/mozilla-central/rev/f9bdd1b929f2
Comment 5•4 years ago
|
||
Backed out 2 changesets (Bug 1707513) for causing reftest failures in partial-prerender-expansion-with-resolution-1.html
Backout link: https://hg.mozilla.org/integration/autoland/rev/1296fe99b37f19bb54118d4040ceafa66bac3862
Push with failures, failure log.
Assignee | ||
Comment 6•4 years ago
|
||
Looks like the issue is in here: https://hg.mozilla.org/integration/autoland/rev/b76d28f3a1599a412caf83ff85e9e8e1f2c4e256
That patches changes the reftest harness slightly so that it uses async messages with a reply for requesting a canvas update, instead of a sync message.
Looking at the log for the failing test, it seems that we keep detecting that there's a pending paint and so we wait for the MozAfterPaint event. This repeats for what looks to be ~3000 paints.
I think we're just waiting for the entire 100s animation to complete (log timestamps aren't useful, because the reftest harness dumps the whole test log in one go), and then capturing a final screenshot without the transform applied.
I guess if isMozAfterPaintPending
is returning true, then it means we're not running this animation async?
Hiro, any ideas what to do here? Looks like this used to fail intermittently (but not very often) and now with my timing changes it's failing consistently.
Comment 7•4 years ago
|
||
Backout merged to central: https://hg.mozilla.org/mozilla-central/rev/1296fe99b37f
Comment 8•4 years ago
|
||
Looks like it's a partial predernder issue. We keep detecting jank on the animation, and it's actually wrong. That's causing the pending paints. Presumably it's been accidentally passing for some reasons.
Can you please skip the test on WebRender&&Android and file a bug blocking bug 1656473 to re-enable the test?
Assignee | ||
Updated•4 years ago
|
Comment 10•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/e68e8ca94bbf
https://hg.mozilla.org/mozilla-central/rev/d86c0cbb97eb
Comment 11•3 years ago
|
||
(In reply to Cosmin Sabou [:CosminS] from comment #7)
Backout merged to central: https://hg.mozilla.org/mozilla-central/rev/1296fe99b37f
== Change summary for alert #30058 (as of Wed, 12 May 2021 13:48:03 GMT) ==
Improvements:
Ratio | Suite | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|---|
6% | build times | linux64-shippable | nightly taskcluster-m5d.4xlarge | 2,463.00 -> 2,307.70 |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=30058
Updated•3 years ago
|
Description
•