https://bugs.kde.org/show_bug.cgi?id=414903

            Bug ID: 414903
           Summary: Optimize/free unused canvas space in all layers
           Product: krita
           Version: 4.2.8
          Platform: Debian stable
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: General
          Assignee: krita-bugs-n...@kde.org
          Reporter: b...@beuc.net
  Target Milestone: ---

Krita may store oversized layers (lots of empty space around the actual
drawing).

For instance: create a 4K image, draw a small circle in the center, then draw
in Erase mode in the corner of the layers: full 4k layer for a dot. This can be
easily verified in the layer's hover preview (initially cropped to the circle,
then a dot with large margins all around). There are other situations where
Krita does not properly optimize the drawing space on-the-fly.

This can lead to several GB of memory, notably when such a layer is duplicated
(copy-n-edit, animations...).
This are hard to track down for the end user (took me a while to figure out),
who is lead to believe Krita is just a buggy memory hog ;)

To reclaim the RAM (and reduce the on-disk document size), a work-around is to
crop each layer individually, but with complex documents this takes forever,
and this may need to be done several time over the life of the painting.
A no-op "Layers > Transform all layers > Scale" with the exact same size does
help, though it doesn't crop the empty spaces in all situations; moreover this
is a manual step that requires prior understanding of this issue.


I would suggest auto-cropping all layers _on save_.
This would prevent the issue and avoid manually optimizing one's documents.

What do you think?
If that sounds reasonable I could work on a patch.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to