Skip to content

The undo/redo system consumes a lot of RAM #883

Closed
@OverloadedOrama

Description

@OverloadedOrama

Pixelorama version:
v0.11.1-dev, happens in all previous versions as well

OS/device including version:
opneSUSE Tumbleweed, but occurs on all operating systems and hardware

Issue description:
The undo/redo system stores each change the user makes to the cel data (by drawing, applying effects etc) as separate Imageobjects for each undo state. For example, let's say we have a 6400x6400 project with a single cel. This alone consumes 6400x6400x4 ~= 163.84MB of memory. Drawing a single pixel, will store another 6400x6400 to memory via the undo/redo system, thus increasing the memory usage with another ~163MB. This is extremely inefficient, since only a single pixel has been changed. A workaround to clear the undo history is to either close and restart Pixelorama, or close that project, and the memory will be freed.

Ideas and proposals on how the system can be improved are welcome!

Steps to reproduce:
Follow the example above, and have a system activity/task manager utility open to measure Pixelorama's memory usage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions