g_type_instance_is_a (was Cairo 1.3 performance loss)
- From: "Daniel Amelang" <daniel amelang gmail com>
- To: "Jorn Baayen" <jorn openedhand com>
- Cc: performance-list <performance-list gnome org>
- Subject: g_type_instance_is_a (was Cairo 1.3 performance loss)
- Date: Wed, 24 Jan 2007 17:27:07 -0800
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 :)
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
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]