Description
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 Image
objects 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.