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