On Tue, 11 Aug 2015 23:07:06 +0200, Uwe Ohse wrote: > Hello, > > in src/renderer-tiles.c there is a really bad optimization, starting at about > line 1336 (current qeeqie.org git): > > 1336 else if ((pr->zoom == 1.0 || pr->scale == 1.0) && > 1337 pr->aspect_ratio == 1.0 && > 1338 !has_alpha && > 1339 orientation == EXIF_ORIENTATION_TOP_LEFT && > 1340 !(pr->func_post_process && !(pr->post_process_slow && > fast)) && > 1341 !(rt->stereo_mode & PR_STEREO_ANAGLYPH)) > 1342 { > 1343 /* special case: faster, simple, scale 1.0, base > orientation, no postprocessing */ > 1344 cairo_t *cr; > 1345 cr = cairo_create(it->surface); > 1346 cairo_rectangle (cr, x, y, w, h); > 1347 gdk_cairo_set_source_pixbuf(cr, pr->pixbuf, -it->x - > GET_RIGHT_PIXBUF_OFFSET(rt), -it->y); > 1348 cairo_fill (cr); > 1349 cairo_destroy (cr); > 1350 } > > it looks good, but is dead slow, for each and every call to > gdk_cairo_set_source_pixbuf takes at least 15 milliseconds on my not > really slow machine, which amounts to over 2 seconds if 144 tiles have to be > drawn (tested with many jpegs and a few large pngs). > > i propose to remove this optimization until someone fixes it. After removal > geeqie is fast, again. >
http://sourceforge.net/p/geeqie/bugs/213/ ( Created: 2014-12-05 ) ------------------------------------------------------------------------------ _______________________________________________ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel