Re: Very slow gdk_draw_pixbuf



Hi Barry,

I think there must be something rather broken with your GTK install. I
changed your example like this:

#ifdef DRAW_PIXBUF
  if (pixbuf == NULL)
    pixbuf = gdk_pixbuf_new_from_file((gchar *) "mapserv.png", NULL);

  if (pixbuf) {
    GTimer *timer;

    timer = g_timer_new();
    gdk_draw_pixbuf(pixmap, NULL, pixbuf, 0, 0, 0, 0, -1, -1,
        GDK_RGB_DITHER_NORMAL, 0, 0);
    printf( "gdk_draw_pixbuf took %gs\n", g_timer_elapsed( timer, NULL ) );
    g_timer_destroy( timer );
  }
  else
    g_print("No pixbuf!\n");
#else

And for a 300x300 pixel PNG I get output like:

gdk_draw_pixbuf took 0.001678s
configure_event
expose_event
gdk_draw_pixbuf took 0.002511s
configure_event
expose_event
gdk_draw_pixbuf took 0.001685s
configure_event
expose_event
gdk_draw_pixbuf took 0.001372s
configure_event
expose_event
gdk_draw_pixbuf took 0.000976s
configure_event

I'm using gtk+-2.8.0, but I had (approximately) the same numbers with
2.6.4. This is on a 1.8GHz laptop with Ubuntu 5.04 and some sort of
radeon mobility.

John



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