In gimp_image_merge_layers() -- the internal function used by the
various layer-merging/flattenning functions -- process the merged-
layer graph in chunks, using gimp_gegl_apply_operation(), instead
of in one go, using gegl_node_blit_buffer(). Processing in chunks
better utilizes the cache, since it reduces the size of
intermediate buffers, reducing the chances of hitting the swap when
merging large images (see, for example, issue #3012.)
Additionally, this allows us to show progress indication. Have the
relevant gimpimage-merge functions take a GimpProgress, and pass it
down to gimp_image_merge_layers(). Adapt all callers.
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| file-import.c | ||
| file-import.h | ||
| file-open.c | ||
| file-open.h | ||
| file-remote.c | ||
| file-remote.h | ||
| file-save.c | ||
| file-save.h | ||
| file-utils.c | ||
| file-utils.h | ||
| gimp-file.h | ||
| Makefile.am | ||