Bug 395265 - Rendering the same animation at 48 fps makes the animation play faster and smoother than rendering at 60 fps
Summary: Rendering the same animation at 48 fps makes the animation play faster and sm...
Status: RESOLVED NOT A BUG
Alias: None
Product: krita
Classification: Applications
Component: Animation (show other bugs)
Version: 4.0.3
Platform: Other Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-12 05:58 UTC by starsynapse
Modified: 2018-06-13 01:42 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Contains 2 gifs of the same animation (one rendered at 48fps and the other at 60fps) and the logs of each render (820.47 KB, application/x-zip-compressed)
2018-06-12 05:58 UTC, starsynapse
Details

Note You need to log in before you can comment on or make changes to this bug.
Description starsynapse 2018-06-12 05:58:18 UTC
Created attachment 113221 [details]
Contains 2 gifs of the same animation (one rendered at 48fps and the other at 60fps) and the logs of each render

When I render an animation to a gif at 48 fps the animation is fast and smooth. No problems and plays as expected. But when I render at 60 fps the animation compared to the 48 fps gif is slower and not as smooth. The 60 fps gif is noticeably slower and very choppy. The 60 fps gif should play faster than the 48 fps gif since it's playing the same amount of frames at a faster rate, but it does not.
Comment 1 Halla Rempt 2018-06-12 06:49:42 UTC
I'm sorry, but there isn't much we can do about that -- it's ffmpeg that creates the animation from the frames. You might want to do that manually and play with ffmpeg's options.
Comment 2 vanyossi 2018-06-12 19:11:29 UTC
That is a limitation on gif decoders, most won't playback at more than 50fps! You can see the behaviour here https://web.archive.org/web/20170201034945/http://blog.fenrir-inc.com/us/2012/02/theyre-different-how-to-match-the-animation-rate-of-gif-files-accross-browsers.html

My suggestion would be to render the frames to images and apply a more complex ffmpeg filter. If all you want is double the speed render the animation frames as images and try:

Create a palette
ffmpeg -r 60 -start_number 0 -i myanim_%04d.png -vf palettegen -y mypalette.png

Make gif
ffmpeg -r 60 -i myanim_%04d.png -i mypalette.png  -lavfi "fps=30[x];[x][1:v]paletteuse" -y output.gif
Comment 3 starsynapse 2018-06-13 01:42:55 UTC
This information on gif decoder limitations "resolves" my issue. Thank you :3