Add a composite code path for picture cache tiles.
Categories
(Core :: Graphics: WebRender, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox71 | --- | fixed |
People
(Reporter: gw, Assigned: gw)
References
(Blocks 1 open bug)
Details
(Whiteboard: [wr-q41])
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
Previously, picture cache tiles were added to normal batches, and drawn
via the brush_image shader. Since all content is now in picture cache
tiles, we can instead draw the tiles via a separate code path. The tiles
for all picture caches are collected into a single composite config, that
is stored in the Frame structure. These two changes provide a number of
advantages:
- The composite shader is very simple - it doesn't need to deal with
transforms, anti-aliasing, repetition etc. - Since we create the tile batches in render(), rather than in the
backend, we can take advantage of information not available until
the render() call. For example, Gecko will provide information here
when the partial presentation rects need to be reset. This will be
used to enable partial presentation parameters on Windows. - In future, we can access this list of tiles to be composited, and use
them to configure the OS compositor integration, and hand the tiles
directly to the OS compositor. - In future, we can apply global optimizations to the set of picture
cache tiles (e.g. occlude background tiles on CPU to skip paying
the z-reject cost of drawing them). - In future, we can take advantage of the simpler composite path
for software rasterizer implementations.
Pushed by gwatson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/845c92fd34a6 Add a composite code path for picture cache tiles. r=kvark
Comment 4•5 years ago
|
||
bugherder |
Comment 5•5 years ago
|
||
== Change summary for alert #23347 (as of Fri, 04 Oct 2019 06:17:17 GMT) ==
Improvements:
3% tp5o_scroll linux64-shippable-qr opt e10s stylo 2.32 -> 2.24
3% tp5o_scroll linux64-shippable-qr opt e10s stylo 2.32 -> 2.25
3% tscrollx linux64-shippable-qr opt e10s stylo 1.23 -> 1.20
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=23347
Updated•5 years ago
|
Description
•