Re: Embedded Gtk+ system moving to 2.14
- From: "John K. Luebs" <jkluebs roctown com>
- To: John Boncek <jboncek Hunter COM>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: Embedded Gtk+ system moving to 2.14
- Date: Mon, 23 Feb 2009 05:00:43 -0500
John Boncek wrote:
Attempting to move several large (multi-hundred compile units) C++
application programs of an embedded ARM / Linux 2.4 system from Gtk+
2.2.4 to Gtk+ 2.14. We are noting severe performance degradation
(2-3 times) in screen transitions and a definite overall sluggishness
to the systems. There are no profiling tools available on ARM / Linux
2.4 that we have been able to find despite a lot of online
investigation.
Does anyone know of particular parts of Gtk+ that have become
significantly slower across this rather large jump in versions? Any
pointers on where to look in our systems would be appreciated.
Sincerely, John Boncek
As others have mentioned, the use of cairo is one of the major
differences between
the two versions of GTK+ you mention. cairo is quite floating point
intensive, which
could be a big problem for the ARM. Previous to use of cairo, GTK+ and
the rest of
the GUI stack was relatively free of floating point in the core drawing
paths.
Also, libpixman has improved over the years but unfortunately, unless
you are using a modern ARMv6
or greater architecture with SIMD support, the ARM specific
optimizations in pixman
are not usable.
Since you mention linux 2.4, it sounds like you are working with an
older system. Are you using software
floating point? Kernel emulation of hard floating point instructions is
very likely to give awful performance.
It is also preferable, if using gcc, to use the handwritten assembly
floating point
functions (defined in gcc/config/arm/ieee754-{d,f}.S) that are built
into libgcc rather than linking with a libfloat
library built from C code, as has been done in the past.
-jkl
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]