[cairo] Looking for some advices
bique.alexandre at gmail.com
Thu Aug 28 11:11:30 PDT 2014
On Thu, Aug 28, 2014 at 7:56 PM, Bryce Harrington <bryce at osg.samsung.com> wrote:
> On Thu, Aug 28, 2014 at 09:30:43AM +0200, Alexandre Bique wrote:
>> I'm using cairo on Linux to render to screen.
>> First I'd like to know the pros/cons of cairo's backends (xlib, xcb, gl).
> You didn't mention the image backend, but that should be discussed
> first. Its pros are that it is the most widely tested, has benefitted
> from a lot of optimizations, and seems to renders the best of all the
> backends. Since its a software renderer, performance is the principle
> con, but actually for many uses it has quite acceptable performance.
And this backend would avoid flickering?
If I use cairo_groups, is the group being rendered into a cairo image surface?
> In general you should prefer xcb over xlib. xcb is intended as the
> replacement for xlib. From my testing you should see little performance
> or functional difference between them.
Is cairo-xcb as distributed as cairo-xlib? I remember a time on
archlinux where you had to use AUR to get cairo-xcb.
In my situation, I'm building the GUI for a VST. The host gives me an
Xlib Window, and I have to embed my own Window into it. Do you think
that it could also be done with xcb?
> For distributable applications to be run on Linux desktops, I think gl
> can't be recommended. Most distributions don't ship with gl-enabled
> cairo, so you'd have to jump through hoops to get it.
OK, then I wont spend to much efforts on this backend.
> In theory, cairo-gl should be faster than cairo-xcb, at least for some
> operations. In practice the performance tends to be kind of a mixed
> bag. So if you're performance limited you might take a look to see if
> using it would help.
The performances are alright except for one operation. I think it
could just be the way I do the rendering which has to be optimized.
I'll try to make a cairo script.
> Where gl (and egl) tends to be looked at the most is for embedded
> devices, but often in those cases you can do better by using a different
> drawing library more optimized for the egl case.
Thanks a lot!
More information about the cairo