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

Reply via email to