[gcompris-devel] Performance issues

Terje Bergström terje at terje.fi
Sun Oct 7 13:27:16 UTC 2007


On Sunday 07 October 2007 15:38:16 Bruno Coudoin wrote:
> > gcompris has one root canvas, and when a confirmation query is displayed,
> > its canvas items are put to the same tree of canvas items as the main
> > canvas. This could mean that there is a large amount of canvas items in
> > one item tree and this causes slowdown.
> I believe we don't have so many items that it could explain the lag
> here.

I inserted some debug prints to gnome canvas and noticed that a lot of time 
(probably the missing three seconds) is spent in paint() in gnome-canvas.c:

static void
do_update (GnomeCanvas *canvas)
{
 (...)
	/* Paint if able to */
	g_warning("do_update: paint");

	if (GTK_WIDGET_DRAWABLE (canvas) && canvas->need_redraw)
		paint (canvas); <- takes a lot of time
	g_warning("do_update: end");
}

I'm going to dig still further.

Terje




More information about the Gcompris-devel mailing list