On 2015-03-23 12:38 AM, EMILIO COBOS ALVAREZ wrote:
First: What parts of the code are from your point of view more critical for
me to understand? I know how the project is structured, and I mostly know
how my work should be, but I want your opinion just in case I've missed
something important.

The separation between the DOM APIs for the canvas rendering context and the implementation of the canvas painting thread is important to understand - http://mxr.mozilla.org/servo/source/components/script/dom/canvasrenderingcontext2d.rs vs http://mxr.mozilla.org/servo/source/components/canvas/canvas_paint_task.rs .. This makes all of the operations non-blocking from the point of view of the script caller, which is essential for performance.

Second, but not less !important: How difficult could layerizing the canvas
and sharing the textures be, and where should I start looking at? The
initial idea is to start using a readback strategy, but I don't want to
discard other options before undersrtanding them deeply, over all since I
know this is also related to all the animations + UI worker discussion
here, so...

I suppose that the "Opaque Id to the native shared surface" should be
similar, if not identic, to `OpaqueNode` in `components/gfx/display_list/
mod.rs`, and that the native shared surface would be a
`NativeGraphicsMetadata` object from the `layers` repo, but I've had no
time to see where the rendering layers are created, so some guidance here
would be appreciated.

I'll have to defer to someone like Patrick or Jack here, since I don't know anything about our painting code.

Cheers,
Josh
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to