Holy cow! Holy freaking cow! Maybe some of you already know this but it's new to me.
Imagine you have a huge AS file with bunches and bunches of image layers. I noticed this first with a huge file that had 20 image layers that covered the entire render area.
I needed to draw boxes on a vector layer over an image layer. I had ten group layers with two images each and a vector mask layer between the two images. Each image covered the entire render area, basically hiding everything below it. I would start with layer 1 only "turned on" or visible (the eyeball thingy) and as I moved up would just turn on the next layer.
Layer 1 was fast and speedy. As I got closer to the top (more layers "on" but not "hidden" or covered) performance started to drag and slow WAAAYYY down. It never occurred to me that even though I couldn't SEE all the other image layers hidden by the upper layers they were still being "rendered" in the preview. They were using resources. If I turned off all the other group layers below the one I was working on (basically turning off all the performance robbing image layers) performance increased 10 fold.
In other similar files this was not as noticeable because I usually only had 5 or 7 layers. I never had one with 10 layers before.
I hope this helps someone. It's new to me.
p.s. I guess this could be a "feature" request. If a layer is totally covered it shouldn't be included in the render buffer to improve performance.
-vern
Speeding up performance BIG TIME!
Moderators: Víctor Paredes, Belgarath, slowtiger
Hi Vern,If a layer is totally covered it shouldn't be included in the render buffer to improve performance.
as you know I'm involved in Synfig development. The problem on what to render each time is a common problem there too, to spped up rendering.
Do you remember a recent bug found by slowtiger about render segments of outlines that are outside camera boundaries? The problem is the same. That was a case of bad calculation of layer boundaries.
It is a paradox: You want to gain render speed to not render layers that are not visible but to do that you need to calculate exactly the boundaries of the layer on every frame what needs more computer time usage...
The question for the program coder is to know in which cases the calculation of boundaries is smaller in CPU time terms that the render of the layer. Imagine how complex is to calculate the boundaries of a particle layer or even a image layer wrapped by bones...
-G
Yep 
I once rendered a project with a whole bunch of stuff that wasn't showing on screen and it took AGES! So, I had particles still going on WAY out of screen, and characters doing their stuff WAY out of screen, and it rendered EVERYTHING even though it wasn't in my shot. Crazy. So, once I've animated everything and ready to render, I turn off visibility for things that aren't in shot, then turn them on again when they're in shot.

I once rendered a project with a whole bunch of stuff that wasn't showing on screen and it took AGES! So, I had particles still going on WAY out of screen, and characters doing their stuff WAY out of screen, and it rendered EVERYTHING even though it wasn't in my shot. Crazy. So, once I've animated everything and ready to render, I turn off visibility for things that aren't in shot, then turn them on again when they're in shot.
I always knew this was an issue when RENDERING but I neglected to consider its effect in the preview. Genete you are right about trying to figure out what is technically "visible" and what isn't.
Anyway, at least now I know why sometimes things are slow and sometimes not. It definately has improved performance for this big project at least.
-vern
Anyway, at least now I know why sometimes things are slow and sometimes not. It definately has improved performance for this big project at least.
-vern