Open Bug 1320435 Opened 8 years ago Updated 3 months ago

don't reflow during paint suppression

Categories

(Core :: Layout, defect, P3)

defect

Tracking

()

Tracking Status
firefox53 --- affected

People

(Reporter: tnikkel, Assigned: tnikkel, NeedInfo)

References

(Blocks 1 open bug)

Details

(Whiteboard: [layout:backlog:quality])

Attachments

(1 file)

Attached patch patchSplinter Review
Jeff noticed this. If we aren't painting then there is no point is doing reflows because we can't see the result of them. Adding some printfs lets one see that we do some reflows during paint suppression. We still need to resolve style so that we can start the loads of any CSS images. Hopefully there is nothing that happens as a result of or during reflow that we want to start as early as possible.

Looks like this is a ~4% win on tp5o non-e10s responsiveness, and about the same on the rest of talos.

https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=8fec50b7c7f213c23ee4108965d0240c2e5a2890&newProject=try&newRevision=346c6d85ae03efe66e2e82a8b907b1a487f47b34&framework=1&showOnlyImportant=0

There are a few test failures

https://treeherder.mozilla.org/#/jobs?repo=try&revision=346c6d85ae03efe66e2e82a8b907b1a487f47b34
Couple of experiments. Only responsiveness changed in these, not the tp5 load score based on load time.

Going back to 250 ms (from 5 ms) paint suppression means this is a bigger win at about 8%

https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=a70f2625969bc0fde2e7538a0a5072be738471b7&newProject=try&newRevision=19346ab3230000cac14a312e4f3958034d9b111a&framework=1&showOnlyImportant=0

Avoiding flushing style during paint suppression as well seems to be a 10% loss though

https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=8fec50b7c7f213c23ee4108965d0240c2e5a2890&newProject=try&newRevision=becff4651c77fd5e2c8b62b25f3904303ff3b542&framework=1&showOnlyImportant=0

I guess we don't do any duplicate work with multiple style flushes, so this approach makes us do one big style flush.
Is it a perf work worth further investigation now?
Flags: needinfo?(tnikkel)
Priority: -- → P3
Blocks: 1601950
Whiteboard: [layout:backlog:quality]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: