[cairo] cairo+pixman profiling
jeff at infidigm.net
Mon Nov 5 19:36:57 PST 2007
On Tue, Nov 06, 2007 at 12:03:04PM +0900, Nguyen Vu Hung wrote:
> Hi all,
> I've tried profiling my application with gdprof. You can see the
> result at the end of this email.
> My questions are:
> 1. Where fbRasterizeEdges and other cairo_pixman_* are called inside
> cairo? How do I optimize them?
These are called when using the software rasterizer. The ideal solution
to this problem is replacing the rasterizer. However, that is likely
quite a bit of work. There has been discussion about possible
implementations but no real conclusions were ever made.
> 2. Where unpremultiply_data is callled? What this function does?
Probably in the png writing code. It does c*255/alpha on each component
of a pixel.
> BTW, because I am new to profiling and performance optimization,
> suggests and comments are appreciated.
> 20.12 267.68 267.68 fbRasterizeEdges
> 7.18 776.12 95.46
_cairo_pixman_composite_solid_mask_nx8x8888mmx this may be able to be
optimized further. However, large speedups may be possible just by using
a newer version of gcc. Older versions of gcc often do a very bad job
optimizing mmx intrinsic code.
More information about the cairo