Closed Bug 1425510 Opened 7 years ago Closed 6 years ago

Support async rendering of expensive scenes

Categories

(Core :: Graphics: WebRender, enhancement, P2)

enhancement

Tracking

()

RESOLVED DUPLICATE of bug 1455422
Tracking Status
firefox59 --- affected

People

(Reporter: mstange, Unassigned)

References

Details

At the moment, there are cases where WebRender will block on certain CPU tasks before it shows a new frame. While those CPU tasks are executing, no screen updates occur - for example, no OMTA animations are run, video doesn't update, and scrolling doesn't work.

The CPU tasks that can take an appreciable amount of time are
 - blob image rendering
 - something with fonts?
 - probably something else that I'm forgetting about.

Once the WebRender API is transaction-based (bug 1425453), we should do the following:
 - If a new display list is received which requires CPU work, kick off this CPU work.
 - While that CPU work is being done, make OMTA / OMTV / APZ operate on the previous display list and keep repainting at the full frame rate as necessary.
 - Once the CPU work has completed, switch over to showing the new display list.
Blocks: 1426164
We have some of this infrastructure in place. Is it worth keeping this open or should we just track individual things at this point?
Flags: needinfo?(mstange)
Let's close this bug. Async blob addressed it in large parts, and bug 1477819 is open for the rest.
Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(mstange)
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.