[gcompris-devel] Performance issues

Bruno Coudoin bruno.coudoin at free.fr
Sun Sep 30 21:22:29 UTC 2007


Le dimanche 30 septembre 2007 à 09:03 +0300, Terje Bergström a écrit :
> Performance and feeling of responsiveness is always subjective. I find it very 
> annoying to click on something and not get any indication that something is 
> happening. If I don't get feedback, I tend to click on buttons several times 
> to make sure the click "went through". I do know that software with similar 
> and higher complexity than gcompris is able to run very smoothly in N800, so 
> there is room for improvement.

If you disable the sounds in GCompris with gcompris -m does the click
responsiveness improves ?

> On the brighter side, compiling with optimizations helped, i.e. it's much more 
> responsive. I suspect something uses a lot of floating point and having them 
> software emulated did not help a lot. Now hardware floating point is enabled. 
> I seem to have lost the paintings puzzle which I have used previously for 
> performance testing, but in the tangram puzzle the pieces get dragged around 
> in real time.

Great.

> There is still a long lag between clicking on an activity in menu and getting 
> it started, or clicking on "home" in activity and getting back to menu, or 
> clicking on basically anything in the bottom row and getting a response. I'll 
> try to see what could be the problem. Any ideas are welcome. Perhaps the 
> touch screen is not treated the same way as mouse clicks or something like 
> that.

Like I said, check if the sound feedback played through gstreamer have
an impact.

> Out of curiosity, I installed oprofile and ran a short test. If I did 
> everything correctly, most of the time in gcompris is spent actually in 
> gnomecanvas (more than 10000 for libgnomecanvas vs. 24 samples for gcompris). 
> This of course leads to thinking that a faster canvas could lead to 
> significant performance boost. Then the question becomes that is the way 
> gcompris uses canvas somehow non-optimal or is gnomecanvas just plain slow.
> 

The canvas is based on libart which seems to use a lot of floating
point. I don't think we use the canvas properly and don't think how we
could improve our code, except in the cases where we have animations.






More information about the Gcompris-devel mailing list