Precomps & Reducing Render Time
I have been working on a large seven screen project and trying to optimize render time. The seven screens are treated like 1 large screen in a work comp that is about 5000x1080, then those all go into they're own individual screen comps for final renders. One thing that I have noticed is that if I render out of the 5000 pixel wide work comp at 1/4 res and scaled down to a width of 1920 for previews, it takes about 4 minutes. However, when I render full res to the individual screens it takes around two hours per screen. The final output size on these screens is 1920x1080 and 1400x1050 (depending on which screen) it is). Also, one of these projects is taking 6.5 hours per screen on final renders. The project is only about a minute and a half long. There is not that much going on, just text animations, video, masking, nothing too crazy. I'm thinking the reason that this particular project is taking 6 hours vs. 2 hours is because it has a lot of precomps at the 5000x1080 pixel size. Why does AE work like this, and is there any preference that can help with this? The large precomps only contain a few layers of text. If I copy the text out of these precomps and into the main work comp it signifigantly reduces the render time. So I'm guessing AE looks at each of these precomps as a 5000x1080 image. So, I also thought if I collapsed the layer, then AE would see it like it was in the work comp and not precomped, but that didn't work.
Why does precomping seem to slow AE down so much, and is there any way around it, other than keeping all work in one comp?
"I'm thinking the reason that this particular project is taking 6 hours vs. 2 hours is because it has a lot of precomps at the 5000x1080 pixel size."
That is correct?
Why does AE work like this, and is there any preference that can help with this?
Because that is how Adobe originally wrote the code... Adobe is very RAM dependent instead of HD-cache dependent... in the original days, RAM was the fastest processing memory available and Hard Drive cache systems were slow(er). That is not as true as it was in the past... however, Adobe is stuck with code that is RAM driven and therfore hits memory limits very quickly. All that being said, compositing software in general puts very heavy loads on computer systems and you might want to reduce your expectations of performance (in general) when compared to editing software.
There are preferences that might help speed up the process... BUT... it is not not going to be significant when you are using the size of layer you described. The only real solution is load your machine with a lot of RAM. When CS5 comes out, the 64 bit OS should help significantlyl... until then, you need lots of CPU cores and lots of RAM.
The best solution is to figure out a way to NOT use such a large layer of 5000 by 1080.
You can always prerender those precomps. Start with the ones that you know are right, and won't change. Add additional precomps to the prerender list as you get clearance to do so.
By doing so, you reduce the amount of processing in AE, and the render goes faster. Much faster.
Sr. Promotion Producer
KCRG-TV (ABC) Cedar Rapids, IA
I use proxies of my precomps (rendered at full res as image sequences) very heavily when I work on widescreen and multi-screen projects. For final renders, this changes the burden from the processors and RAM to the disk subsystem, so I have a fast RAID.
For example, rather than recompute a glow effect on my background precomp just because I changed a foreground text element and needed to re-render, proxying the background precomp lets me render the glow once and simply read it back from disk for subsequent renders.
Using image sequences lets me only re-render changed parts of compositions instead of re-rendering the entire piece for small tweaks.
Principal & Designer at Keen Live
Motion Graphics, Widescreen Events, Presentation Design, and Consulting
RenderBreak Blog - What I'm thinking when my workstation's thinking
Creative Cow Forum Host: Live & Stage Events