[cairo] SVG Spacewar

Carl Worth cworth at cworth.org
Thu Mar 31 06:57:00 PST 2005


On Thu, 31 Mar 2005 23:05:35 +1000, Nigel Tao wrote:
> but I would love to see this live in the cairo-demo module in CVS, if
> the powers that be are happy with that (it's pretty small, just 1100
> lines of C and a Makefile).

I was about to upload this, but Øyvind beat me to it.

> Any hints on how to profile, or what I'm doing wrong?

I don't think you're doing anything wrong. There are two good system
profilers for Linux that I'm familiar with, oprofile and sysprof. A
system profiler is quite desirable here since the bulk of the time is
likely to be spent in a separate process (the X server) rather than in
your application.

For sysprof, the recipe is quite simple:

	cvs -d :pserver:anonymous at anoncvs.gnome.org /cvs/gnome co sysprof
	cd sysprof
	make
	sudo insmod sysprof-module.ko
	sudo ./sysprof &
	[Click start in sysprof GUI]
	svgspacewar
	[Play for a bit]
	[Click profile in sysprof GUI]

Then you can browse through a sorted list of programs/functions on the
left and, after selecting one, explore its call tree on the right.

I just did this using svgspacewar on Xati with a Radeon Mobility M6
and I see:

	[Xati]			95.35

And poking into Xati, the biggest single function is:

	fbRasterizeEdges8	71.79

So rasterization is the bottleneck for me here, (which really isn't
surprising news). I'm going to try the idea I had of making the
tessellator generate a maximal pixel-aligned rectangle for each
scanline soon, and see if that doesn't help:

http://lists.freedesktop.org/archives/cairo/2005-March/003274.html

-Carl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20050331/c8479114/attachment.pgp


More information about the cairo mailing list