On Thu, 05 Nov 2020 07:35:04 +0000 Simon Ser <cont...@emersion.fr> wrote:
> Hi, > > On Thursday, November 5, 2020 3:26 AM, zou lan <nancy.lan....@gmail.com> > wrote: > > > Hi pekka > > > > I want to ask if in one client have created many wl surfaces, and commit > > all of them to weston in one frame, could weston guarantee to handle these > > surface update commands in one repaint? > > > > The sample code may like this: > > redraw() { > > wl_surface_commit(surface1); > > wl_surface_commit(surface2); > > wl_display_dispatch(); > > } > > > > I think weston will handle the commit of surface1 and surface2 before next > > repaint because surface1 and surface2 are belong to one client, is that > > correct? Thank you! > > No, there's no such guarantee. The OS could pre-empt the client after > the first wl_surface_commit is flushed on the wire and before the > second one is. The request reads on the compositor side could also be > split between these two requests. (This is still pretty unlikely, I > think in practice you'll get the two surfaces updated at the same > repaint "by chance" almost systematically.) > > There's a WIP protocol to allow to synchronize multiple surfaces [1]. > > Simon > > [1]: > https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/26 Indeed. Also sub-surfaces can be synchronized with their parent, but that doesn't help you if you need the surfaces to have other roles. Thanks, pq
pgp5X0AFXsimF.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel