Bug 438340

Summary: Animation curves - Rotation with Transform Mask - Glitches
Product: [Applications] krita Reporter: grum999
Component: AnimationAssignee: Eoin O'Neill <eoinoneill1991>
Status: RESOLVED FIXED    
Severity: normal CC: eoinoneill1991, tamtamy.tymona
Priority: NOR Keywords: release_blocker
Version: nightly build (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: fe16ff7_result_example

Description grum999 2021-06-09 17:24:32 UTC
SUMMARY

More detailled information on krita-artist.org
https://krita-artists.org/t/krita-5-animation-curves-applied-to-transform-mask/24895#animation-curves-rotation-with-transform-mask-glitches-1


STEPS TO REPRODUCE

1. Create a paint layer with a rectangle
2. Add a transform mask on paint layer
3. Apply a rotation with pivot point not positioned in center of transform mask 4. Create some keyframes in animation curves

OBSERVED RESULT
Render for rotation is very bad (glitches...)

EXPECTED RESULT
No glitches :) 


SOFTWARE/OS VERSIONS
Linux appimage krita-5.0.0-prealpha-dba5ce5-x86_64.appimage
Comment 1 Eoin O'Neill 2021-06-10 00:37:02 UTC
Could you please specify what your Animation Cache settings are like currently? How may CPU cores you have dedicated to caching, for example.
Comment 2 grum999 2021-06-10 06:33:37 UTC
Hi


- CPU limit: 18 (of 24)
- Frame rendering clone limit: 1 (of 24) >but problem also occurs with any value

- Cache storage backend: in-memory >but problem also occurs with 'on-disk'
- Limit cached frame size: CHECKED (2500px)
- Use region of interest: UNCHECKED (25%) >but problem also occurs with CHECKED value
- Enable background cache generation: UNCHECKED

- Memory limit: 60GiB (of 64GiB)
- Swap undo after: 999MiB

- Swap file size limit: 64GiB


---
Note: concerning value of 'Frame rendering clone limit', I usually set it to 1 because of other bugs encountered with higher value
Comment 3 grum999 2021-06-10 09:36:02 UTC
One interesting thing I saw this morning.

Going to a frame, render is corrupted.
But, if you stay on frame, 4-5s after render is updated automatically and properly made.


The delay reminds me this bug comment: https://bugs.kde.org/show_bug.cgi?id=436642#c2
Don't know if it can help or not, if this '4second' delay is related or not...
The other bug was related to transform mask too

Grum999
Comment 4 Eoin O'Neill 2021-06-10 22:55:24 UTC
I think what might be happening is that old transform data is being updated ontop of the already precalculated cached image. I'll look at it more next week.
Comment 5 Eoin O'Neill 2021-06-30 02:50:51 UTC
Git commit b347ab13a326fc571c6ff6e1f51f515c3e5d5a78 by Eoin O'Neill.
Committed on 30/06/2021 at 02:47.
Pushed by eoinoneill into branch 'master'.

Prevent recalculate transform mask job from interrupting animation playback.

M  +3    -1    libs/image/kis_recalculate_transform_mask_job.cpp

https://invent.kde.org/graphics/krita/commit/b347ab13a326fc571c6ff6e1f51f515c3e5d5a78
Comment 6 grum999 2021-07-05 17:46:18 UTC
Created attachment 139876 [details]
fe16ff7_result_example

Hi

Just downloaded and tested Linux appimage krita-5.0.0-prealpha-fe16ff7-x86_64.appimage

Nothing changed on my side: rendered frames with transform mask still generate glitches


I reopen bug.


Grum999
Comment 7 Eoin O'Neill 2021-07-07 21:04:45 UTC
Yeah, there still seems to be some bugs with off centered rotations...
Comment 8 Eoin O'Neill 2021-07-08 05:43:36 UTC
Git commit ba10b857f963edc2467324b338d23af76d5c6d58 by Eoin O'Neill.
Committed on 08/07/2021 at 05:43.
Pushed by eoinoneill into branch 'master'.

Fixed threading issue with animated transform masks with non-centered rotations.

M  +2    -6    plugins/tools/tool_transform2/kis_animated_transform_parameters.cpp
M  +0    -2    plugins/tools/tool_transform2/kis_animated_transform_parameters.h

https://invent.kde.org/graphics/krita/commit/ba10b857f963edc2467324b338d23af76d5c6d58
Comment 9 Eoin O'Neill 2021-07-08 05:44:21 UTC
Please try it again when you get some time. I think the glitchy rotations should be mostly resolved now. Reopen if you come across any additional edge-cases.
Comment 10 grum999 2021-07-09 18:25:57 UTC
(In reply to Eoin O'Neill from comment #9)
> Please try it again when you get some time. I think the glitchy rotations
> should be mostly resolved now. Reopen if you come across any additional
> edge-cases.

Tested on krita-5.0.0-prealpha-ebe5933-x86_64.appimage, I can confirm that there's no glitch anymore :) 

Grum999