Re: GtkPerf data for GTK+ 2.6 vs GTK+ 2.10 vs Maemo-GTK+ 2.6 (on a Nokia 770)



Hi,

ext Federico Mena Quintero wrote:
I'm planning on running it with other theme engines too of course.

It would be good to know how other them engines behave on the 770.  The
pixbuf engine is much, much slower than "hand-written" engines even on
fat desktop boxes.

N770 theme engine is not pixbuf theme engine.

Pixbuf theme-engine:
- Stores the images (redundantly) in each Gtk application
  - as 24/32 bit
- Scales (by default) bitmaps with Gdk floating point operations
- Does operations as 24/32-bit
  - And copies images to X server after the operation
    (on each blit?)

N770 theme-engine:
- Stores the images on the X server in native 16-bit
- Shares the images between all clients through the sapwood server
- Tiles the images (using Xrender I think) instead of scaling them,
  on the X server side
- Supports 1-bit "transparency" (shape mask) for menus

If you do X side tiling for an image the speed difference is not
that significant compared to drawing single color filled rectangle.
AFAIK the performance and memory is lost (not utilized as well as it
could) in Gtk theme handling, not drawing nor pixmaps.

With normal applications, the theme engine (sapwood server) total Pixmap
memory usage in  the whole device keeps under 1/2MB regardless of how
many applications are running.  Whereas the 500[1] styles needed for
Maemo themeing take ~200KB per process (I think with maemo-launcher part
of that is COW until theme is changed)...


	- Eero

[1] at least that's the approximate number of them I got when
    grepping the gtkrc in the device



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]