Bug 401630 - Animation caching in wrong order when using `Import animation frames...` dialog.
Summary: Animation caching in wrong order when using `Import animation frames...` dialog.
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Animation (show other bugs)
Version: 4.1.5
Platform: Other macOS
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-01 23:32 UTC by adliu6400
Modified: 2020-04-14 03:11 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description adliu6400 2018-12-01 23:32:11 UTC
SUMMARY
When I import animations to Krita, the playback while using the scrubber is off. 

STEPS TO REPRODUCE
1. Import files (I'm using PNG files) as animation images
2. Set up animation as normal
3. Press play

OBSERVED RESULT
I have three frames right now (blink 1, blink 2, blink 3). They are spaced out over 12 frames, with blink 1 on frame 1, blink 2 on frame 3, and blink 3 from frame 5 onward. The problem is that blink 3 won't play until frame 12, even though it's supposed to play on frame 4. Instead of blink 3, blink 2 would play for frames 3-11. 

This only happens when using the animation tool in Krita. Just to see if it was a display bug or not, I exported the animation as a gif, and the exported gif worked exactly as expected. I'm not sure what is causing this and I don't know how to fix it (sometimes it's okay, sometimes it's not, it's a total mystery). 

EXPECTED RESULT
Frames play in the order and pace that I set them to play. Blink 1 plays on frame 1, blink 2 plays on frame 3, blink 3 plays from frame 5 to frame 12. The animation in Krita should look the same as the exported gif version. 

SOFTWARE/OS VERSIONS
Windows: 
MacOS: 10.13.6 (high sierra) 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
I'm unsure how this bug is surfacing, it seems to only be around half the time. The rest of the time, it goes away after I put a few more frames into the animation. I'm currently trying to animate this to music, and since the audio player isn't working right now, it's especially crucial that I am able to play the animation in Krita as accurate as possible.
Comment 1 mvowada 2018-12-02 17:17:10 UTC
Hi. It sounds similar to https://forum.kde.org/viewtopic.php?f=139&t=156137
Comment 2 joupent 2019-01-09 16:13:15 UTC
Git commit aed191675e826f37d1173af49d22b212094c434a by Jouni Pentikäinen.
Committed on 09/01/2019 at 16:12.
Pushed by jounip into branch 'master'.

Always update UI time when changing displayed frame

Before this change, playback for cached vs. uncached frames behaved
slightly differently, causing some frames to never be displayed when
scrubbing.

This also fixes missing UI updates for layer opacity slider when the
property is animated.
Related: bug 402841

M  +3    -3    libs/ui/canvas/kis_animation_player.cpp

https://commits.kde.org/krita/aed191675e826f37d1173af49d22b212094c434a
Comment 3 Dmitry Kazakov 2019-02-14 10:56:12 UTC
The fix was reverted, because it breaks playback
https://commits.kde.org/krita/1af5c349f0705fa5c14b3740508994a5352e9e6e
Comment 4 Eoin O'Neill 2020-04-14 03:09:55 UTC
This seems to be fixed due to a correction made on commit 2007269642067b388e4b2698afd8bf97b6727051 which corrected datarace issues for animation caching. I can no longer reproduce this bug on master.

If you continue to experience this issue, please let me know and I will reopen this bug report. As for now, though, I believe this bug is resolved.