Add partial present API for webrender
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, 1 obsolete file)
(deleted),
text/x-phabricator-request
|
Details |
Assignee | ||
Comment 1•5 years ago
|
||
Add an API to RendererOptions that allows a client to enable
partial present mode, with a given maximum number of dirty
rects.
The Transaction API also has a new method, called
reset_partial_present. This method can be called when
the device is reset, or window resized etc to force a full
redraw of cached tiles.
When partial present is enabled, WR will only composite dirty
regions into the framebuffer, potentially improving GPU performance
and saving battery usage.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
This is a hack / work-in-progress. It would need a better implementation before we consider merging it, but it might be good enough to start doing some experiments with to see if the basic API / concept is working correctly?
Assignee | ||
Comment 3•5 years ago
|
||
I just realized that this requires setting the reset_partial_present flag when creating a transaction, when you probably can only set it just before render()? That should be easy enough to handle in the proper implementation, if that's the case?
Comment 4•5 years ago
|
||
Yeah, Gecko will probably want to set this in render().
Comment 5•5 years ago
|
||
Yes, creating a transaction happens on compositor IPC thread. But render() is called on RenderThread.
Assignee | ||
Comment 6•5 years ago
|
||
Updated•5 years ago
|
Comment 8•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Description
•