Mercurial > hg > forks > geeqie
changeset 2243:d68dbf3c8d21
Remove over optimization
Thanks Uwe Ohse <uwe@ohse.de> 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."
author | Klaus Ethgen <Klaus@Ethgen.de> |
---|---|
date | Tue, 11 Aug 2015 23:19:25 +0100 |
parents | 8901539bc9e5 |
children | d9f0862beb47 |
files | src/renderer-tiles.c |
diffstat | 1 files changed, 0 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/src/renderer-tiles.c Sat Sep 27 12:07:10 2014 +0100 +++ b/src/renderer-tiles.c Tue Aug 11 23:19:25 2015 +0100 @@ -1333,21 +1333,6 @@ { 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;