Re: More on the future of cairo's X11 backends

Bryce Harrington <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On Fri, Jan 27, 2017 at 10:51:31AM +0100, Uli Schlachter wrote:
> On 27.01.2017 02:55, Bryce Harrington wrote:
> > On Wed, Jan 25, 2017 at 12:02:47PM +0100, Uli Schlachter wrote:
> [...]
> >> - Introduce these function pointers in cairo-xlib and make use of them
> >> - Add an xcb-xlib-backend that implements the xcb API ontop of these
> >> function pointers
> >> - Eventually remove the current cairo-xcb and cairo-xlib-xcb code and
> >> only leave the above.
> >>
> >> Of course this is all still a bit rough around the edges, but what do
> >> you think?
> > 
> > So do I understand this would (temporarily) add a third backend, that
> > implements this strategy,
> [...]
> 
> A bit, yeah. So:
> 
> Current cairo-xlib gets lots of changes so that it does not use Xlib
> directly, but a thin wrapper around it. The idea being that this can be
> done with lots of almost-trivial patches, nothing complicated.

My reviewer ears are liking the sound of almost-trivial uncomplicated
patches.

> Afterwards this thin wrapper can also be implemented with XCB to produce
> a new cairo-x11-xcb-something backend.
> 
> At this point I would want to compare test and performance results
> between "new cairo-xcb" and "old cairo-xcb".

Good approach.  And I would think even a slight loss in performance, say
1%, would still be acceptable for the benefit of gaining a unified
codebase.  But ideally the performance difference should be 0%, right?

> At any point now we could drop the current xcb backend ("old
> cairo-xcb") without much impact (well, configure would need to be
> fixed up).

Would the new and old xcb backends be providing the same user visble
API, so that there are no compatibility concerns?

> Yes, long term this should give us just a single X11 backend and a thin
> abstraction layer around X11.

Sounds good.  +1 from me for proceeding on this.

Bryce
-- 
cairo mailing list
[email protected]
https://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.