[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