On Wed, 2005-08-24 at 17:59 +0200, Nicolas George wrote: > I am trying to load an image, and I am comparing two methods: a plain > gdk_pixbuf_new_from_file, and a GdkPixbufLoader with a > fread/gdk_pixbuf_loader_write loop. I am very surprised by the difference of > efficiency of both methods: with my sample image, on the computer I am > using, gdk_pixbuf_new_from_file takes only about 3.5 seconds, while the > GdkPixbufLoader method takes about 22 seconds. I understand that keeping > track of the current state and keeping the data structure consistent across > calls must take some time, but I expected a 10% cost, not a 500% cost! > > To have things right, here are some details: > > - There is no swap/out of memory problems, all is well within the cache and > free memory limit, and the limiting factor is really CPU. > > - Almost all the time is spent in gdk_pixbuf_loader_write. In particular, I > am not wasting time in the loop system since all the file is read in just > 4 big fread. > > - There is no signal for area-updated; adding a no-op one costs two more > seconds. > > - It is a Gtk+ 2.6.8-1 from Debian, on a Pentium 266. I did not find > anything pertinent in the ChangeLog to expect better with 2.8.1. > > I intended to use a GdkPixbufLoader to do partial rendering while loading a > big image, but if it means that the user must wait six times what he would > have waited otherwise, it is somewhat defeating the purpose. > > Did I miss something? That sounds wrong. Can you post your benchmark ? _______________________________________________ gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list