From: Klaus Ethgen Date: Tue, 11 Aug 2015 22:19:25 +0000 (+0100) Subject: Remove over optimization X-Git-Tag: v1.2.1~2 X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=commitdiff_plain;h=0dfeec9a9a7298d4c5389bb9151a5ad8a8ab9ed4 Remove over optimization Thanks Uwe Ohse for this find. "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." --- diff --git a/src/renderer-tiles.c b/src/renderer-tiles.c index f48fe572..72ea0554 100644 --- a/src/renderer-tiles.c +++ b/src/renderer-tiles.c @@ -1333,21 +1333,6 @@ static void rt_tile_render(RendererTiles *rt, ImageTile *it, { draw = rt_source_tile_render(rt, it, x, y, w, h, new_data, fast); } - else if ((pr->zoom == 1.0 || pr->scale == 1.0) && - pr->aspect_ratio == 1.0 && - !has_alpha && - orientation == EXIF_ORIENTATION_TOP_LEFT && - !(pr->func_post_process && !(pr->post_process_slow && fast)) && - !(rt->stereo_mode & PR_STEREO_ANAGLYPH)) - { - /* special case: faster, simple, scale 1.0, base orientation, no postprocessing */ - cairo_t *cr; - cr = cairo_create(it->surface); - cairo_rectangle (cr, x, y, w, h); - gdk_cairo_set_source_pixbuf(cr, pr->pixbuf, -it->x - GET_RIGHT_PIXBUF_OFFSET(rt), -it->y); - cairo_fill (cr); - cairo_destroy (cr); - } else { gdouble scale_x, scale_y;