FORUMS: list search recent posts

Network rendering in AE with CC

COW Forums : Adobe After Effects

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
Paul Rijkaard
Network rendering in AE with CC
on Feb 8, 2017 at 7:15:17 pm

1. I have 2 offline render nodes which I use for distributed rendering for 3D with vray - can I make use of these to help render out AE comps as image sequences.
Currently my laptop and iMac workstations are licensed for CC so would I need to buy a seperate licence for the render nodes?

2. General question about rendering in AE - is it a single or multithreaded application? The render nodes are 16 core each (32 threads) can I make use of the full power of these machines?

3. Assuming network rendering is possible - where are completed files saved? Locally on each render node or sent back to main workstation?

Many thanks

Return to posts index

Walter Soyka
Re: Network rendering in AE with CC
on Feb 9, 2017 at 5:52:24 pm

Below is my standard explanation of Ae's "watch folder" network render. Since you're already familiar with render control from a 3D application, you might consider using your current render farm management system to control aerender, instead of relying on Ae's very naive built-in network render system.

With respect to your specific question about multi-threading, Ae is multithreaded, but this applies more to some effects than others. The current releases render only a single frame at a time; in Ae CC 2014 and previous, Ae could render multiple frames at the same time by launching multiple instances of the renderer in the background. This works reasonably well on big multi-core machines with LOTS of RAM.

Let me know if you have any questions after reading below:

Let me first outline how network rendering works with After Effects, and then I will list a couple of bullet point notes from my experiences with network rendering. Much of this information is found in the documentation [link], but some of is not. All of it was learned the hard way.

How After Effects Network Rendering Works
You use Collect Files to get your project, its render queue, and all required footage together into a single folder. You configure the render nodes to watch that folder; once Collect Files is complete, it creates a render control file. On the render nodes, you select the folder to watch. When the render control file appears in it, the render nodes begin work according to the options it specifies. All watch folder network renders are done as image sequences, with each instance of AE on each render node working on one frame at a time.

There is no active communication among the render nodes, and the machine hosting the watch folder does not actively control them. Control is completely passive -- each machine looks at the shared storage to see if "Frame 0000" has been rendered yet. The first one to see that there is no image for "Frame 0000" will create that first file in the image sequence to claim responsibility for the frame, then begin rendering it. Finally, when the frame is complete, it overwrites the placeholder "Frame 0000" file.

As other render nodes join the party, they will see that "Frame 0000" already exists, so they will skip it and look for "Frame 0001." If "Frame 0001" already exists, they'll continue sequentially until they find the first frame that doesn't exist, create a file for it to claim responsibility for it, and begin rendering.

All the render nodes are also accessing footage from the shared storage, so that storage system is seeing many constant small reads and writes.

As you can imagine, this places some serious strain on the network and disk subsystem on the server.

Notes on After Effects Network Rendering
  • Each of AE's render nodes is self-directed; there is no supervisor or controller for distributing the workload. (See above for some details.)

  • You need a very fast network and very fast storage on your server. (Again, see above for my explanation of how the AE network renderer works and why this is necessary.)

  • Network rendering will create an image sequence on your shared storage. You can add a post-render action to re-import the image sequence and output a movie, but this will only be handled by one computer. If there is sound in your project, don't forget to output it separately if necessary.

  • You must specify the maximum number of render nodes when you set up the watch folder render. Multiprocessing increases your node count. For example, if you have four quad-core machines, you will have 16 render nodes.

  • All fonts and plugins used in your project must be installed on all render nodes.

  • Some plugins are licensed for unlimited use in render farms; others are limited to a specific number of render nodes; still others must be licensed for render nodes separately. Many plugins activate through their installers, but others activate with the AE environment itself. In this case, you will need a full license of AE in order to activate them. Most font licensing also limits the number of workstations they may be installed on.

  • Some plugins allow GPU acceleration. I highly recommend turning this off unless your render farm is completely homogenous.

  • Cross-platform file naming and path conventions can be tricky.

Walter Soyka
Designer & Mad Scientist at Keen Live [link]
Motion Graphics, Widescreen Events, Presentation Design, and Consulting
@keenlive [twitter]   |   RenderBreak [blog]   |   Profile [LinkedIn]

Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2019 All Rights Reserved