Single buffered clients (LP: #1194333)
Christopher James Halse Rogers
chris at cooperteam.net
Tue Apr 29 06:40:06 UTC 2014
On Tue, Apr 29, 2014 at 4:12 PM, Daniel van Vugt
<daniel.van.vugt at canonical.com> wrote:
> It does kind of work now, providing you honor the limitation of not
> producing and consuming at the same time.
And how do you honour that limitation? By ‘consuming’ here you mean
‘compositing’, right? Your global framerate is then limited to the
slowest client - and a client can just plain freeze the compositor by
not releasing its buffer.
Of course, at the moment none of this works because there's no client
API for such cooperative rendering.
> And it can easily be fixed to work adequately (e.g. for dumb clients
> like mir_demo_client_fingerpaint or static raster image windows).
>
> I would rather just implement it. It's trivial to implement and
> maintain.
I think it's neither trivial to implement nor to maintain. On the
implementation side you get to add some IPC, which is always fun, and
on the maintenance side it breaks one of the core promises of
BufferBundle - that a compositor can always acquire a buffer -*and* the
Mir client API promise that getting your current buffer is free.
More information about the Mir-devel
mailing list