When I play or render an animation it skips frames

I’m on steam’s 5.2 version and using win 11, I’ve got krita in its own drive with over 866gb free. I have the memory limit set 100%.
I’m trying to animate to a song and have broken it into pieces to make it easier, so the part I’ve started is just shapes moving across the screen with lights lighting up in time to part of the music but the animation skips not only in play but in render.

That’s not a good idea. You need to leave enough RAM for Windows to do what it needs to do and also for ffmpeg to run and operate.

If you have 32 GB of RAM then you’ll probably be ok with this one.

(I have 16 GB of RAM and it filled up when it made the animation cache. I had to switch to cache on disk to watch this in krita.)

I see a skip of a few frames between frame 100 and frame 101.
Is that what you see happening compared to the animation as created in krita?

When the upper dots skip, I see a fractional pause and a slight upward movement of the lower dots which seems strange.

This is a 4K UHD (3,840 px x 2,160 px) 24 fps animation.

Do you get the same frame skipping for every play and every render or does it vary?

Working on a copy of the .kra file, if you reduce the size to 50%, do you still get the frame skipping?

Is it hand painted for every frame or do you have very wide dots images and use animated transform masks for movement?

Hi, thanks for taking the time. I have 24.0 GB (12.0 GB usable) Installed RAM is that ok? I set krita up on an extra drive thinking that would have helped as theres hardly anything else on it.

I set up the animation so that the upper orange dots are moved by a transform mask on one layer and the lower dots with another layer. The transform masks moving a wide layer of dots. On another layer are the flashes. They should flash during the click sounds of the song five times in the render but I barely see one flash. When I play in Krita it varies skipping and the movement lags badly.

I tried to resize my layers but for some reason it causes them to become empty layers. Not sure what to make of that.

I made a mistake in not establishing the animation method you are using.

If it’s fixed images with animated transform masks on them, the RAM use won’t be all that big.
It will go up if you have the animation cache in RAM as I have, especially with a large canvas size.

[Off-topic question: Do you have 12 GB usable out of 24 GB because you’ve allocated 12 GB to VRAM for the CPU onboard graphics?
I’ve always used a graphics card so I’m not familiar with allocating VRAM.
12 GB sounds like a lot of VRAM to me.]

The very large extra drive will only be useful for storing large collections of recording frames and the temporary storage of the intermediate frames for rendering.
A large drive is always very useful though.

I assume that by ‘resize’ you mean ‘scale’, as in Image → Scale Image to New Size?
‘Resize’ is a very different thing, as in Image → Resize Canvas.

Either way, Scaling or Resizing causes problems with animated transform masks and I wouldn’t have suggested that if I knew you were using them.

This may be a ‘reached the end of capability’ situation.
Do you need 4K UHD resolution?

Can you make the .kra file available with a file sharing download link?

There’s 6043MB in display memory vram acording to dxdiag if that’s what you mean? Yeah I did try scaleing the layers, I tried resizing the canvas and that did help but yeah it messed with the layers trying to get them to fit.
How do I change the resoluttion sorry I’m still kinda new to krita.

That Google Drive link is a ‘collaboration’ sharing link and requires a Google account sign in to access it.
Can you share it with a universal/public sharing link?
The options are listed when you first make the sharing link.

For scaling down the image, you’d probably have to remake the animated transform masks. I’ve had problems with this sort of thing before so I avoid doing it.
There can be problems with resizing as well.
If I can download the .kra file, I’d be happy to have a look at it but I can’t guarantee that I’d be able to understand what’s happening.

Good morning, sorry about the link this one is public so it should work. Fingers crossed about the resizing as the other part of the animation is the buildings behind the vehicles each with their own layers, big oof.

There are three points I’d like to make about what you’ve done with the animated transform masks.

  1. You’ve entered fractional numbers for the keyframe values. In practice, the value used will be the nearest integer. It may be that the values were caused by you manually moving the image to whatever place seemed to be ‘good’.
    Use of integer values makes future calculations and adjustments a lot easier.

  2. The ‘loopback’ between frame-100 and frame-100 should not go back to the value at frame-0. That will give a repeat of that frame, normally. The loopback should be made in such a way as to give the next required canvas image.

  3. I’ve looked at the image for ‘upper Click cars’ and tried putting markers on it but I can’t figure out where the loop join is supposed to be.
    I tried running it up to frame-201 as you seem to have originally intended but couldn’t make it work.
    Did you construct the static image as a duplicated pair side by side or did you use a different method?

I think that you need to study the static images carefully to see if they are suitable for looping and if the values of the animated transform keyframes are correct for a smooth loopback join.

I should say that ‘lower click cars’ is perfect for a loopback at frame-200 except that there’s a small vertical offset jump where it looks like you joined two parts of a looped image but made a small vertical error in positioning when making the combined image.

Please don’t use the word ‘resizing’. It’s scaling that you would use to get the canvas down to 50% of its current size.
Also, you’d need to rework the animated transform masks.
However, they are quite simple and have only four keyframes each.

I was worried about the amount of RAM used by a 4K UHD image but the structure means it won’t be all that big so you should be ok with the 4K UHD resolution.

Afterwards when it’s rendered to video, you could use something like Handbrake to reduce the resolution of the video.

I’m still very much new to animation so I’m mostly following tutorials and books. Thank you for telling me about the fractional numbers I had no idea that would effect things, I did just drag the image from one end to the other and pin the animation curves so I’ve removed them.
I attempted to make a loop of the cars by following a tutorial where I make the image then copy half the image and add them to the ends but youre right I messed up lining them up. The intention was to keep the loop going to the end of the song and add the flashes where the click sounds are but its already lagging so bad only 200 frames in.
You’re completely right I don’t need 4k as this is going to be a very simple animation, just lighting changes to the time of the song. I usualy use VideoPad to jigsaw the animated pieces together so I can probably use that to change the resolution
Think my best option at this point is to redo most of the animation and learn my lessons before moving on to the more complicated bits with a much smaller canvas.
Thank you for taking the time to help me.

I learned it by doing it and making all the mistakes you’re making :slight_smile:
However, I started small and not too ambitious.

Use the numbers in the Tool Options docker for static transforms and use the numbers in the Animation Curves docker for animated transforms.
You can type a new value to replace an existing value. Often, you then have to click in the Timeline on another frame and back to the frame you were modifying to see the effect. It’s just one of the little things you get used to.

It’s a ‘rolling canvas loop’ animation. Simple in principle but you have to get the numbers right.
You need to copy the entire width of the image to make a simple repeating loop and for an image that has no obvious structure, like yours, that is enough.

For a more structured image with obvious features, you’d need to make an original image wider than the canvas, possibly twice as wide and then double that up for the loop.

Using a single width static image, especially one with obvious structures, has consequences as I explained at the start of this topic:
Loopy Star Animation

I think you need to work on reducing the size of all your components, possibly to 50% of 4K UHD or whatever you feel would be good, then concentrate on reworking the wide static images for looping, then work on the numbers for the animated transform masks.

Keep going, you’ll get there :slight_smile:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.