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.
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.
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.