https://bugzilla.gnome.org/show_bug.cgi?id=761312

--- Comment #9 from Ray Strode [halfline] <[email protected]> ---
Review of attachment 320153:

::: gdk/wayland/gdkwindow-wayland.c
@@ +685,3 @@
+          cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
+          cairo_paint (cr);
+          cairo_destroy (cr);

So this is costly.  It won't happen much in practice now that mutter releases
the buffer before the frame callback, but we could optimize this by avoiding
the copy up front, only doing incremental changes into the staging buffer, and
then compositing the read back buffer on top of the incremental changes using
the DEST_OUT operator.

Another idea would be to use memcpy instead of cairo to do the copy.  We know
the buffers are linear with width == rowstride, so we can get by with one
memcpy call. It could be that cairo/pixman already fall back to a memcpy in
this situation though.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
wayland-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-bugs

Reply via email to