Jump to content
Sign in to follow this  
JonnyB

AE efficient rendering

Recommended Posts

I'm sure many of you have had this thought before, but I was wondering if there is a resource where different rendering techniques / effects / plugins have been tested in After Effects to find the most efficient way to work.

 

I am aware that this may be easier said than done, as things vary greatly on your hardware, software and project setup but I always wonder things like..

 

how much time does a complex (or even simple) luma/alpha matte add to the render time? how much does applying layer styles as opposed to an effect in AE affect it? does pressing CAPS and hiding the composition view really save render times? what are the optimal encode settings for pre-rendered footage?

 

I'm not really asking somebody to answer all of these questions for me, but I was wondering whether it would be worth my time extensively testing these different options, or would the results only ever reliably apply to my machine with my current setup. Or maybe somebody has done it already!

 

J

Share this post


Link to post
Share on other sites

Just a couple of hints I can give you based on my experience:

 

- Expressions: make them as efficient as possible. To much useless/crappy code takes up render time. Sometimes it's better to convert them to keyframes. Can not give you much details on that, i'm not a super coder. This is, as said, purely based on my experiences.

 

- Encode settings for pre renders: If you go for a proxy, i mostly use pro rezz. Renders quick, and looks quite good. If you go for a true pre-render of your comp to finalize afterwards, take "animation codec" or if you wanna go for professional quality, take an image seq with open EXR (then use 32bit workspace ofcorse).

 

- getting the job done faster: you have a site called aescripts.com, where you have a lot of nice scripts/plugins then can enhance your workflow a lot. Check out keytweak for speeding up your rotoscope/masking/tracking refinement work etc..., mocha import, easywizz and expression timeline (that one is a blast)

 

-rendering: It seems that AE renders faster when you're not previewing the render. Do not activate multiprocessing in your preferences to speed up renders, its does some strange things to your dog. No, just kidding, it just behaves strangely.(blame this bad joke on the wodka). Sometimes it crashes my whole scene, sometimes it renders slower or blocks halfway...

 

Greetz!

J

Share this post


Link to post
Share on other sites

Do not activate multiprocessing in your preferences to speed up renders,

 

that's mainly because by "multiprocessing" adobe understands opening one instance of AE for each core on your system.

 

/facepalm

Share this post


Link to post
Share on other sites

Do not activate multiprocessing in your preferences to speed up renders, its does some strange things

 

If you have a decent amount of RAM, turning on multiprocessing is the single largest factor in your render speed. It varies from scene to scene, but as a rule of thumb you can render 1x faster for every 3gb of RAM. On my 32gb work computer, rendering with multiprocessing is seven times faster.

 

Occasionally multiprocessing runs into a few quirks -- it's certainly more prone to crashes, but since CS5.5 I've almost never run into these issues. Unless you're totally starved for RAM (< 6gb), disabling multiprocessing to speed up your rendering is ass-backwards advice.

Share this post


Link to post
Share on other sites
disabling multiprocessing to speed up your rendering is ass-backwards advice.

 

Mr Scott,

 

I didn't say: If you disable it, your render will be faster.

I said that that on my experience, if you want to speed up your render, and you enable it, AE starts to behave strangely. I'm sorry you didn't understand. Maybe my English writing is not very understandable (i'm from Belgium, so that's possible)

 

Grtz

J

Share this post


Link to post
Share on other sites

i use the MP option mainly for previews and test renderings. If i'm outputting a master render i almost always use several instances of BG Render with "skip existing files" activated (on image sequences). In the past this has proven to be more RAM efficient tan AEs "render multiple frames" function - and in case one instance crashes or fails, the others can still finish the job. Obviously you can also continue working while rendering in the background with only one or two instances.

Share this post


Link to post
Share on other sites

If i'm outputting a master render i almost always use several instances of BG Render with "skip existing files" activated (on image sequences).

 

Beware that if you're doing this it can be just as slow as having multiprocessing turned off -- because AE skips "existing files", you'll run into situations where each instance is rendering the same frame because the final image doesn't exist in the folder yet. Say you have four instances all told to skip existing files -- all four of them will start by rendering frame 1. The first one to finish will place frame 1 in the folder, then every other instance will see it and go "oh, it exists, I guess I'll start on the next frame"... in which case they'll all start on frame two. At least, this is the behaviour we see when rendering to our network -- I have no idea if it happens when you render locally. Regardless, we always just spit up the render directly -- computer A renders 1-100, computer B renders 101-200, etc.

Share this post


Link to post
Share on other sites

@Aaron Scott well if they use Lens Blur or any CC effects they might well be a couple of seconds quicker. I certainly have MP turned off for RAM previews as it seems to take a while to actually set the render up.

 

No-one using Media Encoder then? I tend to use this use this instead of BG Renderer as it's free and I haven't noticed any significant slowdown.

Share this post


Link to post
Share on other sites

Beware that if you're doing this it can be just as slow as having multiprocessing turned off -- because AE skips "existing files", you'll run into situations where each instance is rendering the same frame because the final image doesn't exist in the folder yet. Say you have four instances all told to skip existing files -- all four of them will start by rendering frame 1.

Never ran into this problem before, neither on server volumes nor on local drives - but if you use "skip existing files" and the "render multiple frames" option at the same time, the skipping of files often takes ages. Thats why i prefer multiple instances without "render multiple frames."

Share this post


Link to post
Share on other sites
well if they use Lens Blur or any CC effects they might well be a couple of seconds quicker.

 

Not "quicker", per se. Pre-5.5 it would be exactly the same as having multiprocessing turned off, since those features don't use multiprocessing. As of 5.5 lens blurs are multiprocessing-enabled, though.

 

 

 

No-one using Media Encoder then? I tend to use this use this instead of BG Renderer as it's free and I haven't noticed any significant slowdown.

 

I haven't really played with it much -- when rendering locally, most people here use either a render manager we made in-house or RenderQ (which is really similar in form and function to what we made internally). Honestly, I hadn't even really thought of using Media Encoder, which probably breaks the hearts of the Media Encoder team.

Share this post


Link to post
Share on other sites

I find it interesting that not many people have picked up Media Encoder as it speeds up my workflow quite a lot, I have to admit that I haven't ever used BG renderer at all in order to compare the two. Media Encoder is good for rendering precomps but I find that it takes a while longer to output using this than with AE - understandable if you are also working on AE on the same machine - but in certain situations it is very useful.

 

I'm about to delve into the world of multi-machine rendering (something I have little experience with) as our office may be getting a whole new load of computers. I was hoping to take the old (but still powerful) PC's and trying to make some kind of render farm out of them, It seems to me that I would have to set them up to render the frames out manually in an image sequence as Aaron suggested.

Share this post


Link to post
Share on other sites

...It seems to me that I would have to set them up to render the frames out manually in an image sequence as Aaron suggested.

Try image sequences with skip existing files first - works under most circumstances and the workload is distributed evenly between your render nodes. By setting framerates individually, you'll often end up with one box still rendering, while all other computers have already finished their part (render times are usually not the same at every frame of a comp). If the skip existing option fails to work for you, you can still distribute it manually.

Share this post


Link to post
Share on other sites

 

Beware that if you're doing this it can be just as slow as having multiprocessing turned off -- because AE skips "existing files", you'll run into situations where each instance is rendering the same frame because the final image doesn't exist in the folder yet. Say you have four instances all told to skip existing files -- all four of them will start by rendering frame 1. The first one to finish will place frame 1 in the folder, then every other instance will see it and go "oh, it exists, I guess I'll start on the next frame"... in which case they'll all start on frame two. At least, this is the behaviour we see when rendering to our network -- I have no idea if it happens when you render locally. Regardless, we always just spit up the render directly -- computer A renders 1-100, computer B renders 101-200, etc.

 

This is incorrect. It sounds like maybe you have an issue with your network. With the 'skip existing files' aerender will place a 0k file before it starts rendering to let other nodes know that they should not render that frame. In cases where there's many nodes (like a lot) and the network doesn't have the bandwidth to support all the nodes rendering continuously it's possible that two nodes will try to write the 0k file at the exact same time but that would be a very rare case and would only cause that node to stop rendering, the rest of the nodes would continue rendering without being affected by this condition.

 

Splitting the render in even chunks is a really bad idea because you will inevitably always end up with idle machines and frankly that's what I would 'beware' of ;-)

 

-Lloyd

Share this post


Link to post
Share on other sites
This is incorrect. It sounds like maybe you have an issue with your network.

 

It may be incorrect, but it's what's always happened here, and it happens regardless of what server we're rendering to or what computers are rendering. Maybe it's time to talk to Adobe...

Share this post


Link to post
Share on other sites

It may be incorrect, but it's what's always happened here, and it happens regardless of what server we're rendering to or what computers are rendering. Maybe it's time to talk to Adobe...

As i wrote above: i never had this problem in over ten years of AE usage, neither local nor on servers, neither on Mac nor on Win. You should definitely try to find the reason for this problem (and probably file a bug report). Skip existing files is one of the most basic functions for efficient rendering and makes life a whole lot easier.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...