DescriptionMozart: Improve tracing and backpressure.
Refactored the GPU Output to clarify the separation of concerns
between the output and rasterizer classes. GpuOutput maintains
the queue of frames to draw and keeps track of how many frames
are outstanding. GpuRasterizer manages the GL context and issues
the actual drawing commands.
Simplified the policy for dropping frames so it only happen in
one spot in the compositor. The compositor maintains a queue
of drawn frames awaiting finish. When that queue's size exceeds
the maximum allowable pipeline depth (configurable using
the --pipeline-depth argument) a pending frame will be discarded.
Added more trace events to help understand the behavior of the
compositor.
Normalized the nomenclature for different stages in composition.
They are now called...
- Present: accept and validate scene updates published by apps
- Snapshot: resolve scene dependencies and capture the state
of the scene graph for traversal
- Paint: record drawing commands for a frame (as an SkPicture)
- Submit: enqueue a frame to be rasterized
- Draw: rasterize the frame
There's still much to be improved here.
BUG=
R=mikejurka@google.com
Committed: https://chromium.googlesource.com/external/mojo/+/f36e23b2e279ce47c7cd0e2149048dd9b1b5af4e
Patch Set 1 #
Total comments: 26
Patch Set 2 : address review comments #
Total comments: 2
Messages
Total messages: 12 (2 generated)
|