How to avoid crazy memory usage (and images that are too large to use)?


#1

I began using Synfig this morning, so apologies if these are stupid questions. I am planing something that involves enormous coordinates and enormous amounts of memory, enough to break any normal software. So I have some workarounds, and need to know if they are likely to work. I am asking these in advance, because testing this idea will take days, and I don’t want to go down a blind alley.

Some background: I am making a “zoom in from outer space” video like this one. It uses a bitmap image of the planet Earth, an image of a country (with transparency), an image of a city, and so on, down to the heart of an atom and beyond. Each image will be scaled maybe ten times bigger than the one before. Hence my questions:

1. On hiding objects: I plan to group together around fifty PNG images of around 4000 x 4000 pixels each. Obviously this could cause memory issues. Can I manually hide them when not needed? And would they then take up no memory?

2. On grouping and ungrouping: Can group layers together at one point of an animation, and then ungroup them at another part?

Thanks for any replies!


#2

Hi tolworthy,

1 - On the bottom right of the UI where synfig lists all objects in your canvas, to the left of those should be a checked box. This is what allows you to render/hide your objects in the canvas and preview.

2 - No, unless there’s a method that somebody else knows of that would like to share.

From what I know about Synfig, you may need to either reduce the image sizes or quantity to help with memory. If your animating them and synfig can handle it then it depends on how long your willing to wait for it to finish rendering.


#3

Thanks for the quick reply! As far as I can tell, the check box hides the objects for the entire rendering process?

So it sounds like the only way to avoid the system crashing (from trying to stretch an image larger than a galaxy) is to create maybe twenty different shorter video clips, then connect them in a video editor. Ah well.


#4

Hey,

I’ve done a little bit of something like this before, but it will take a lot more time. Hiding the images will allow you to work in synfig without crashing (mostly), but hiding it in the canvas doesn’t hide it in the final render, you’ll need to change the amount value of those images when your animating. Its possible, but time consuming.


#6

UPDATE. Thanks for the help and guidance. If anybody is reading, and has similar plans for zooming into huge images, I have both good news and bad news.

The good news is that, after more exploring, I can conform that Synfig is fairly intuitive and user friendly. Animation will always be a bit complex, but between the interface, help files and helpful people here, I would recommend it.

The bad news is that it can’t handle very large bitmaps. At least not on my middle of the road system. E.g. a 125 MB png that the GIMP of Blender handled easily caused Synfig to thrash the hard disk for about 15 minutes and then could not reload the project after saving. So I have a choice of creating 50 separate videos and spending a couple of days stitching them together. but the result would be very jerky. Or I can go back to Blender, which is much less user friendly, but has no trouble with big files.

Decisions, decision…


#7

Wow, 50 PNG, 125MB each, you are savage :stuck_out_tongue:
Ok, lets have a try.
In order to display/hide a layer, play with its “Amount”, 0=hide/transparent or 1=opaque/visible
The checkbox permit to avoid render in Synfig’s UI as DeSpencer mentionned it
You could try to use a .lst/switch group with the list of images instead of to load them all in the beginning.
Then apply the transform (scale) with either a scale layer above or the one of the group.
You could use 2 alternating switch layers like this, with a bit of time offset between them.
But don’t expect light, Synfig works with pixbuffs which are limited in matter of size and performances.
Always remember Synfig is at first a vector software, bitmaps have been added for convenience but they require heavy work for CPU and memory!


#8

BobSynfig

Thanks! I’ll give it another go. I really want to do this with a proper 2D animator if I can, because having to worry about 3D objects, 3D movement and lighting seems crazy when all I want to do is scale flat images.


#9

I think maybe you chose the software wrong. You need a compositor like Natron, or blender’s compositor or even the blender sequencer, it would be a lot easier to do that, with that sort of images and project. You can do compositing in Synfig sure but it’s not working right lately in that field unfortunately.