[cairo] graph plotting using cairo

Kalle Vahlman kalle.vahlman at gmail.com
Sun Aug 12 12:56:46 PDT 2007

2007/8/12, Milan Stanojević <milanst at gmail.com>:
> In any case, I have 10 frames a sec, each one being drawn in at most
> 1ms, so that's some 10ms/sec. But Xorg is still taking 70-80% CPU?
> Does it mean that Cairo calls are nonblocking and that they just
> delegate drawing to X and return immediately?

Part of the work is done by Cairo (converting what you ask for to a X
drawing calls like XRenderFillRectangles() or XRenderComposite()) but
yes, Cairo does delegate the drawing operations it can to the X server
which handles it asynchronously (when it can). The X server then
delegates what it can to the GPU. In optimal situation, this would be
about everything (more or less).

However, due to drivers (or the server itself) being non-optimal or
hardware limitations, some operations will be impossible for the
graphics hardware to handle and software fallback is used instead.
This is what I would assume happens here, I doubt that 10fps would be
that taxing otherwise.

To tell for sure, one would really need to do some profiling work...

Kalle Vahlman, zuh at iki.fi
Powered by http://movial.fi
Interesting stuff at http://syslog.movial.fi

More information about the cairo mailing list