Bug 462828

Summary: Krita 5.1.x+ : Undo history abnormally reduces performance when it's full (about 400 steps)
Product: [Applications] krita Reporter: stephen <tgdev001>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED NOT A BUG    
Severity: normal CC: halla
Priority: NOR    
Version First Reported In: 5.1.3   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description stephen 2022-12-09 19:37:34 UTC
SUMMARY
This bug was experienced on a clean install of Windows 10 22H2.
Windows 10 Pro - OS buildversion : 19045.2130
All drivers are up to date, and the issue is specific only to Krita among my art programs.
All my other art programs are working fine, including Photoshop.

STEPS TO REPRODUCE
1. Open an A4 blank canvas.
2. Make sure you have a limit of 400 undo steps set from the settings.
3. open the undo history docker and keep it in display somewhere on the UI.
4. make tiny strokes on the canvas and fill it scrupulously until the undo steps is full.
5. check the for the render delay of the brush cursor everytime you release your pen after a stroke.
6. Try to hold the Undo/redo after the history is full.


OBSERVED RESULT
1. At a certain moment, the cursor starts to briefly stutters after each stroke( undo steps filled at about 300 or more ).
2. Once the undo history is full, every time you lift your pen as you perform strokes, Krita stutters for about half a second..
3. The undo/redo operation is ten times slower when the undo history is full. And when you hold either shortcut, you notice stutters as well, as your strokes are undoing/redoing themselves

EXPECTED RESULT
1. No  stutter at all or notice of performance reduction while undoing/redoing.
2. No stutter at all just when you lift your pen after a stroke.
3. Krita's performance should remain as if the undo history was empty.


ADDITIONAL INFORMATION
Krita performance settings : 
1. RAM 
Memory limit : 4096 MiB
Swap Undo After : 512 MiB

2. Swap File
Size Limit : 8GiB

The bug was tested and consistent in Krita 5.1.0 beta2, Krita 5.1.0 to Krita 5.1.3 stable.
Comment 1 Halla Rempt 2022-12-09 19:39:47 UTC
Sorry, but running out of steam isn't a bug. It's not properly recognizing the limits of your system and working accordingly.
Comment 2 stephen 2022-12-10 12:19:23 UTC
(In reply to Halla Rempt from comment #1)
> Sorry, but running out of steam isn't a bug. It's not properly recognizing
> the limits of your system and working accordingly.

If thisn't a bug, what is causing this issue? 
I mean, Krita is using 4GB or RAM only for itself out of my 12 GB RAM memory. 
It's not supposed to slow down, is it? 
I need some help about this issue. 
Saying that this isn't a bug doesn't help.
Comment 3 stephen 2022-12-10 12:20:12 UTC
(In reply to Halla Rempt from comment #1)
> Sorry, but running out of steam isn't a bug. It's not properly recognizing
> the limits of your system and working accordingly.

If thisn't a bug, what is causing this issue? 
I mean, Krita is using 4GB or RAM only for itself out of my 12 GB RAM memory. 
It's not supposed to slow down, is it? 
I need some help about this issue. 
Saying that this isn't a bug doesn't help.
Comment 4 Halla Rempt 2022-12-10 12:38:15 UTC
This is a bug tracker, not a user support forum, so it's not a place to go when you need help.
Comment 5 stephen 2022-12-13 00:59:08 UTC
(In reply to Halla Rempt from comment #4)
> This is a bug tracker, not a user support forum, so it's not a place to go
> when you need help.

Alright. At least it's an encountered performance issue related to the Undo history. 
Since you're aware of it, I've already done my part. 
Yes it's indeed not a bug. It's a performance issue.