Re: g_type_instance_is_a (was Cairo 1.3 performance loss)



On Wed, 2007-01-24 at 17:27 -0800, ext Daniel Amelang wrote:
On 1/24/07, Jorn Baayen <jorn openedhand com> wrote:
> Hi,
>
> Comparing cairo 1.2.4 and 1.3.12 on ARM, a performance loss of 2% is
> observed when drawing GTK+ widgets[1]. On closer inspection, it turns
> out that the new tessellator may be to blame.
> ...
> [1] http://folks.o-hand.com/~jorn/cairo-benchmarks/

You didn't mention that in that same test, the other widget (gtklabel)
sees a performance increase with cairo 1.3.12 :)


The last time I ran my tests (around 1.3.8 time) the 1.3.x line was
performing a lot better than 1.2.x for the expose time of a gtklabel.
Although 1.3.12 improves the 1.3.10 time it is still slower than 1.2.4
in the numbers jorn sent. Did we regress very badly in the last month
or am I missing something?

So, the tessellator behavior that you're seeing is interesting and
deserves some looking into. But I can't help but notice in your
profiles that g_type_instance_is_a takes up 3x the CPU that the
tessellator does. And with the old tessellator, g_type_instance_is_a
takes 9x the CPU the tessellator does. Now, I'm not a GTK guru, and I
have a lot of confidence in the GTK developers, so what's the story?

FYI, top callers (in descending order) of g_type_instance_is_a are:

gdk_window_invalidate_maybe_recurse
gdk_window_begin_paint_region
gdk_drawable_get_screen
gtk_widget_style_get
pango_font_get_metrics

Dan
_______________________________________________
Performance-list mailing list
Performance-list gnome org
http://mail.gnome.org/mailman/listinfo/performance-list



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