Post Production

RenderGarden accelerates After Effects renders

Script-based application from Mekajiki emulates render farm capabilities via ordinary means

Stop me if you’ve heard this one before: After Effects renders are slow. Complex shots progress sluggishly, so you open up Activity Monitor or Task Manager (ya nerd) and stare at CPU levels flying at half-mast. It makes the days longer and the deadlines tighter, and you just know there has to be another option.

RenderGarden, from Mekajiki, may now be the most direct way to peg those processors and get that fan blasting at render time for small studios. Its capabilities are closer to an actual render farm than the popular BG Renderer Pro. Unlike a render farm, this is software you can quickly install and run yourself, locally or on a network.

It’s a garden, not a farm, get it? A “farm” needs staff, dedicated equipment, significant budget and can even require ongoing maintenance. For a “garden” you just need some seeds and a place to plant them where they’ll grow. RenderGarden costs $99 and installs a script and a set of modest utility applications. Actual gardens with plants and soil can cost more than this.

How it works

If you’ve ever used either network rendering software such as Pixar’s Tractor, or even the aforementioned BG Renderer, you’ve made use of aerender. This is Adobe’s command-line executable that sits next to the After Effects application on your system. It runs in a text shell using custom commands that manage a headless version of the Render Queue.

RenderGarden also relies on aerender, with a couple of key extra ingredients, beginning with the RenderGarden script panel. With an item in the Render Queue, open the panel and click “Plant the Seeds!” and the render begins. A “Seed” is a portion of the Render Queue item; the default value of 3 seeds divides the item into 3 separate sections to run as an individual process. If you set this to 1, you replicate what BG Renderer does—run a single background render process of an entire queued item.

You can simply click Plant the Seeds! to kick off a RenderGarden background render, or you can first specify how many Seeds (sections) you want the render to be divided into.

At this point (since you’ve set up two free third-party utilities, Python and FFmpeg, as instructed) a second window pops up allowing you to specify a number of Gardeners (CPU processes) to launch. This defaults to 2, which is a good place to start and evaluate whether more CPU, memory and disk I/O is available. A set of green-colored Terminal windows (get it?) open and begin to display frame-by-frame render progress.

Best practices

On a single system, the number of Gardeners (processors)should be 50-75% of the processor cores on your system. “Virtual” cores don’t count. On, say, a laptop with 8 virtual cores but 4 physical processor cores, you might choose 3 Seeds and 3 Gardeners.

Once each process completes, FFmpeg stitches the result into the output format of your choice. That way, you can choose any moving image format available in After Effects, not just image sequences. This runs as an additional terminal process, and the intermediate files remain cached in the Seed Bank. This all can be located wherever you choose, and can be emptied out from time to time like a cache folder.

As long as those shell windows that ran aerender stay open, they keep looking for new seeds to appear in the same directory.

One more thing

The initial intention for RenderGarden was simply to max out the processors on a single system. But leave those shell windows running, plant Seeds on a network drive, and you have passive network rendering. An application called Gardener included with the install can be run anywhere, even with a render-only version of After Effects.

So if you have 2 or more systems around, you can choose a network directory (identical file path from all locations), point Gardener at it, and leave it running to pick up jobs as they occur. You can’t manage it from some central panel like on a real render farm; you need to fire it up (or kill it) on the individual system. But it will stay running open-endedly in the background until either something crashes or you close it down.

Not a farm

If your studio has idle machines, you can leave RenderGarden running on them and experience startling render times. Obviously if these were actual render farm machines, you would simply let the farm manage After Effects. But how many of us have a couple systems each, not to mention open desks even in a small studio?

Just like with a render farm, jobs will fail at every stage of the render process. You can kill an unwanted or stuck job using Kill Renders, which is also installed with RenderGarden. This halts each render in progress but leaves the terminal shells running to pick up more jobs. You can also use Gardener re-queue a segment instead of restarting the whole job.

The system for identifying the status of render segments is one of the most elegant hacks in operation here. Placeholder files for each seed contain JSON data including terminal commands, and the filenames begin with an alphanumeric status identifier. This could be “ready_”, “rendering_” or “complete_” depending on its current state, and changes as soon as that job picks up or completes.

RenderGarden makes use of its own directories to write temporary render projects and interim moving image files. The queue is tracked using alphanumeric file names that may begin “complete_” or “rendering_” or “ready_”.

Sometimes a hack can be your best friend

To call RenderGarden a hack, however, kinda misses the point (unless the term is meant to be complementary). RenderGarden effectively and dramatically increases render power on modern systems and networks without the “drama” of extra system administration. Plus, all remote rendering systems rely on aerender, which itself is something of a hack.

Were it not for the current limitations of After Effects itself however, there might be no need for the extra hack. Despite efforts to modernize it section by section, the 25-year-old application lacks anything like comprehensive multithreading. The last attempt at a multiprocessing feature within the application itself was removed because it reduced stability while failing overall to reduce render times.

RenderGarden isn’t a feature that Adobe itself would ever ship with After Effects. This toolset cleverly fills a need with a very low commitment of resources. It should appeal to anyone with ample motion graphics work and underutilized processing power. It can easily cut render times in half, or better. A one-week trial allows you to evaluate and justify the $99 investment for your own studio.

Mekajiki, developer of RenderGarden, is run by Matt Silverman, Brendan Bolles, and Brandon Smith, all longtime pals and colleagues of the author.


Was This Post Helpful:

0 votes, 0 avg. rating

Share Our Article

Designer of effects and experiences, author at LinkedIn Learning (lynda.com) and Adobe Press (After Effects Studio Techniques).

2
Leave a Reply

avatar
1 Comment threads
1 Thread replies
2 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
MarkAshley Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Ashley

Great, concise article. Seems bizarre that it’s needed but I have set up the trial and it seems to work really well. Having upgraded to a Threadripper system, it’s been vexing to see little improvement over a seven-year-old 2600K i7 system.

RenderGarden seems like exactly what I need and setting it up was far less hassle than it initially seemed. I’m going to thrash it for a week before buying it. I’ve already had to rename some seeds to get them to re-run but the whole thing seems to work very nicely.