Better animation

Hello there!
I tried to animate in Krita. But whenever I playback my animation it skips frames and it isn’t smooth. Even if I turn Skip Frames off it still isn’t good. Please fix this:)

Regards,
Sketch Emperor

Hello and welcome to the forum :slight_smile:

This doesn’t happen for many people otherwise the forums would be full of similar reports.

Which version (number) of krita are you using and which operating system?

Do you have an old and not powerful PC?
Do you have a slow old hard drive and not an SSD?

Can do do Help → Show system information for bug reports, then copy-paste the output to a reply here?

  • I have a windows 10 and I use the latest version of Krita.
  • I just got a new laptop a few months ago.

Krita

Version: 4.4.3
Languages: en_GB, en, en_US, en, en_GB, en, en_US, en, en_GB, en, en_US, en, en_GB, en, en_US, en, nl_NL, nl, en_US, en
Hidpi: true

Qt

Version (compiled): 5.12.9
Version (loaded): 5.12.9

OS Information

Build ABI: x86_64-little_endian-llp64
Build CPU: x86_64
CPU: x86_64
Kernel Type: winnt
Kernel Version: 10.0.18363
Pretty Productname: Windows 10 (10.0)
Product Type: windows
Product Version: 10

OpenGL Info

Vendor: “Google Inc.”
Renderer: “ANGLE (Microsoft Basic Render Driver Direct3D11 vs_5_0 ps_5_0)”
Version: “OpenGL ES 3.0 (ANGLE 2.1.0.57ea533f79a7)”
Shading language: “OpenGL ES GLSL ES 3.00 (ANGLE 2.1.0.57ea533f79a7)”
Requested format: QSurfaceFormat(version 3.0, options QFlagsQSurfaceFormat::FormatOption(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CompatibilityProfile)
Current format: QSurfaceFormat(version 3.0, options QFlagsQSurfaceFormat::FormatOption(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile)
Version: 3.0
Supports deprecated functions false
is OpenGL ES: true

QPA OpenGL Detection Info
supportsDesktopGL: false
supportsAngleD3D11: true
isQtPreferAngle: true

Hardware Information

GPU Acceleration: auto
Memory: 3919 Mb
Number of Cores: 4
Swap Location: C:/Users/511500/AppData/Local/Temp

Current Settings

Current Swap Location: C:/Users/511500/AppData/Local/Temp
Current Swap Location writable: true
Undo Enabled: true
Undo Stack Limit: 30
Use OpenGL: true
Use OpenGL Texture Buffer: true
Use AMD Vectorization Workaround: false
Canvas State: OPENGL_SUCCESS
Autosave Interval: 0
Use Backup Files: true
Number of Backups Kept: 1
Backup File Suffix: ~
Backup Location: Same Folder as the File
Backup Location writable: false
Use Win8 Pointer Input: true
Use RightMiddleTabletButton Workaround: true
Levels of Detail Enabled: false
Use Zip64: false

Display Information
Number of screens: 1
Screen: 0
Name: \.\DISPLAY1
Depth: 32
Scale: 1
Resolution in pixels: 1366x768
Manufacturer:
Model:
Refresh Rate: 64

Make sure there are no other user applications running.
Try Settings → Configure Krita → Performance → Animation cache - change Cache Storage Backend to In-memory to see if that improves the situation.
(A krita restart will be needed.)

How big, long, complicated is your animation?

How much RAM does it use as shown on the RAM meter in krita and how much RAM is krita using according to the Task Manager?

Does the problem only happen after some time of using krita and working on the animation or does it happen immediately after starting krita, opening the animation .kra file and then playing it?

It seems similar with this one:

But provided explanation is not precise enough.

@Sketch_Emperor when you tell “it skips frames and it isn’t smooth

  • it means that frame is rendered in cache and not displayed in playing?
    or
  • it means that frame is not rendered in cache?
    or
  • it means that sometimes the wrong frame is played?

When a frame is in cache, there’s small light grey rectangle under frame number:

Can you tell us how are the configuration settings:

And also multithreading configuratoin

We already saw that in some condition, multithreading and renderng are not working properly and maybe it could have an impact on cache rendering too…

Grum999

I moved topic to #develop:artists-feedback-testing category, currently it sounds more like a bug than a feature request :slight_smile:

Grum999

Hello again!

  • I tried what you told bu but it didn’t work.
  • Well I haven’t made a animation yet. When I first tried to animate in Krita(yesterday), I made a little animation of just random circles to see if everything works well. And then I noticed that it doesn’t work well. And yes, I think that it is a bug.
  • And euhm…where can I find that RAM meter in Krita?

  • “zeer laag” means very low in Dutch.
  • No, the problem happens even when I immediatly open krita.And the problem also stays when I used it for a long time.

Hello @Grum999,

We can see that playing process jumps some frames…
0,1,3,4… => frame 2 missed
0,2,3,4,5,6,7,8,10 => frame 9 missed

When you play an animation, you have frames to play
But if Krita have to calculate all frames each time, it would be CPU consuming and it won’t be able to play video smoothly
So all frames are saved in a cache: it could be in memory or on disk, and then for playing animation, Krita just display frames that are already rendered

Looking your video, I’m a little bit surprised.
You have 10 frames at 24fps
But it take seconds to pass from one frame to another one.
It normally should take less than a half-second to play frames :thinking:

Unfortunately, you didn’t recorded full screen and I can’t see some important information on screen.
Which dimension in pixel is your document? Which color depth/model are you working on?
Also we can’t see memory usage.

Can you provide us the complete status bar when your document is opened?

I suspect that 4GB RAM is not enough to manage everything, and krita might swap data to hard disk (SSD or HDD?), and the problem might be, to be able to play smoothly the animation, Krita need to load from disk and then reading data is not fast enough to display all frames…

But it’s a supposition.
We need more precision about your document properties.

Grum999

Well your new laptop seems to have lower specs than my Phone, as it looks. It wouldn’t surprise me if there is simply not much left for Krita to do anything.

4 GB RAM is really low. Like your Chrome and MS-Teams already take 1 of your 4 GBs alone. Windows itself probably takes more than another two, that’s why you have 90% RAM usage just doing basically nothing but surfing and chatting. And rendering animations simply take a lot of power and RAM when it should be fast.

That’s why we (semi) professionals work on powerful workstations with up to 32 GB RAM and more and as much CPU cores we can grab. You see, Grum’s machine has 24.

Even for non-Krita users I would recommend to have at least 16 GB of RAM, nowadays if you want to do anything besides simple office work.

Your CPU is also at it’s 50% just trying to keep the system running. It’ kinda looks like your new laptop is just an old refurbished one.

As I said before:

1 Like

The status bar when your animation is opened is what I really need to understand what happen:

The provided screen doesn’t really help me (except that, with 4GB RAM under Windows 10 and with other applications running, your laptop might be naturally suffering…)

Grum999

1 Like

welp, no animation for me then…

Turning off chrome and team speak might help.

no it doesn’t help. Well, bye, thanks for your help…I really thought I finnaly could animate…

Digital art, no matter if painting, animating or 3D modeling unfortunately requires hardware with some power unless you just want to make itsi bitsi small works.

Try a vector animation program, maybe. Like Opentoonz or Synfig Studio (both free and open source, like Krita). In Opentoonz you need to make sure you use vectors, not pixels. That might help with low RAM if you want animating.

Okay! thank you guys for all the help.

I recommend Tahoma2D which is a continuation of OpenToonz with a few useful ease of use changes. View here: https://tahoma2d.org/posts/2020/08/15/switcher/

Side note, I currently use Blender Grease Pencil for vector animation. It still has a ways to go but since you can basically use 3d objects as a canvas It allows some really neat stuff to be created. You can just use it as a 2d vector animation tool though.

1 Like