Closed Bug 1482956 Opened 3 years ago Closed 3 years ago

Don't dispatch a FinishedAsyncPaintTask message in PaintThread

Categories

(Core :: Graphics: Layers, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: rhunt, Assigned: rhunt)

References

Details

(Whiteboard: [gfx-noted])

Attachments

(4 files)

It's not clear that this is needed, and it seems like an unnecessary context switch when using a worker thread pool.
These method names and ordering have gotten out of sync because of
the recent churn.
Attachment #8999819 - Attachment is obsolete: true
This was needed when there were multiple types of CapturedPaintStates but
is not anymore.
There should only ever be at most four TextureClients here, so
allocated a vector seems wasteful.
This may have been needed at some point, but all the important code for
EndLayerTransaction is in CompositorBridgeChild behind a lock, so this
should be safe.
Attachment #8999819 - Attachment is obsolete: false
Wow I really botched that review request. Apologies, first time doing a commit series with phabricator.
Comment on attachment 8999823 [details]
Bug 1482956 - Don't dispatch extra runnable for ending layer transaction. r?nical

Nicolas Silva [:nical] has approved the revision.
Attachment #8999823 - Flags: review+
Comment on attachment 8999821 [details]
Bug 1482956 - Remove templates for FinishedAsyncPaint methods in CompositorBridgeChild. r?nical

Nicolas Silva [:nical] has approved the revision.
Attachment #8999821 - Flags: review+
Comment on attachment 8999822 [details]
Bug 1482956 - Use an AutoTArray in PaintTask to reduce heap allocations. r?nical

Nicolas Silva [:nical] has approved the revision.
Attachment #8999822 - Flags: review+
Comment on attachment 8999819 [details]
Bug 1482956 - Standardize method names and add comments to PaintThread. r?nical

Nicolas Silva [:nical] has approved the revision.
Attachment #8999819 - Flags: review+
Pushed by rhunt@eqrion.net:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2300b4b766ca
Remove templates for FinishedAsyncPaint methods in CompositorBridgeChild. r=nical
https://hg.mozilla.org/integration/mozilla-inbound/rev/0448f2851603
Use an AutoTArray in PaintTask to reduce heap allocations. r=nical
https://hg.mozilla.org/integration/mozilla-inbound/rev/2698e4d327ef
Don't dispatch extra runnable for ending layer transaction. r=nical
https://hg.mozilla.org/integration/mozilla-inbound/rev/1185bd909214
Standardize method names and add comments to PaintThread. r=nical
Noticed some performance gains:

== Change summary for alert #15153 (as of Mon, 20 Aug 2018 06:00:28 GMT) ==

Improvements:

  3%  rasterflood_svg linux64 pgo e10s stylo     12,649.38 -> 12,236.10
  3%  rasterflood_svg linux64 opt e10s stylo     12,014.92 -> 11,639.16
  1%  rasterflood_svg windows10-64 pgo e10s stylo10,263.42 -> 10,166.38
  1%  rasterflood_svg windows10-64 opt e10s stylo10,413.40 -> 10,321.40

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=15153
Depends on: 1483772
You need to log in before you can comment on or make changes to this bug.