>AE: Render in the Background, Work in the Foreground

>UPDATE: There are now excellent scripts for After Effects 7.0 and later that will let you setup and start a background render from a palette inside AE, so use Lloyd Alvarez’s script BG Render instead of the technique described below!

Want to continue working in After Effects while rendering in the background? Here’s how to start a second instance of the program that can render without affecting the performance, even if you’re working on a lowly single-processor workstation. Once you get the hang of this technique, you’ll never be able to blame your long coffee breaks on rendering.

Update: Wow, I just realized this looks like a really complicated procedure, but trust me, it’s dead simple to do (just not to describe correctly.) Give it a try, you’ll never want to go back!

Preparations for Windows XP:
1. Right-click on the After Effects 7.0 icon in the Start menu and choose Properties…
2. Make sure that the entire path in the Target: field is enclosed by quotes and then at the very end add ” -m” (that’s a space followed by a minus sign and an m.) On a standard installation on an English system the path should now read:
“C:\Program Files\Adobe\Adobe After Effects 7.0\Support Files\AfterFX.exe” -m
Note: If you have a non-English system, the program might be installed in a slightly different folder, which is why it’s safer to just add quotes around the original path and then add the space and the -m.

Preparations for Mac OS X:
1. Locate the After Effects app file (on a standard installation you should find it at Applications/Adobe After Effects 7.0) and duplicate it (Cmd-D), so that you have two identical icons. If you rename the app something like AE 7.0 Second Instance you’ll be able to tell the two instances apart.

Workflow:

  • Step 1. Start After Effects via the Windows Start Menu icon you have modified, or on OS X via your duplicated icon.
  • Step 2. Open your project and set up your render(s) in the Render Queue, but before you hit the Render button, save the project with Ctrl-S (Cmd-S on OS X.)
  • Step 3. Go ahead and start the render(s).
  • Step 4. Now it’s time to make sure that the rendering doesn’t suck up the resources that you need to continue working. We do this by telling your operating system to not prioritize the rendering program.
    On Windows XP you hit Ctrl-Shift-Esc to bring up the Task Manager and under the tab Processes right-click on the AfterFX.exe and set the priority the Below Normal.

    On OS X it’s a bit more complicated, since you can’t just point and click like you can on Windows (the irony, the irony…)
    A. Start a Terminal window, type top and hit the Enter key.
    B. Look at the row listing After Effe and memorize the four-digit PID number in the first column.
    C. Type q to get back to the command prompt.
    D. Type renice +20 XXXX where the X:es should be replaced by the PID number you just tried to remember.
    E. Exit Terminal.

  • Step 5. Start a second instance of After Effects, on Windows XP via the same icon, on OS X via your duplicated app.
  • Step 6. When the new instance has been started, load the same project into it with Ctrl-Alt-Shift-P (Cmd-Opt-Shift-P on OS X.)
  • Step 7. To avoid saving over the project that is already rendering in the background, immediately choose Increment and Save from the File menu (Ctrl-Alt-Shift-S on Windows XP, Cmd-Opt-Shift-S on OS X.)

Now you can work on your project while it (or another project) is rendering in the background. Since you lowered the priority of the program that is rendering, you shouldn’t notice any performance degradation. The operation system will only let it use CPU cycles that would otherwise have been wasted doing nothing. The beauty of this technique is that it even works on single-CPU and single-core machines, even though rendering will of course be even faster the more processors you have.

The only drawback is that you don’t want to change stuff in your Preferences or save new Workspaces while running two instances, since both will fight over who can write to the preference file.

This is basically a crude way of doing what the excellent and highly recommended Nucleo software does automatically. Even better is the Nucleo Pro plugin that will use spare CPU cycles to either render stuff in the Render Queue or even fill up your previews while you can continue to work.

Thanks to Chris Prosser at Adobe, here’s a challenge for someone with the skills to write a .term file for automating this in OS X.
A. Start Terminal and navigate into the directory with the application Adobe After Effects 7.0
B. Type ./Adobe\ After\ Effects\ 7.0.app/Contents/MacOS/Adobe\ After\ Effects\ 7.0&
C. Get the PID number
D. Enter the command renice +20 PID (replacing PID with the actual PID number.)
E. Press up arrow on the keyboard twice to get the command listed under point B again and press Enter.
F. VoilĂ , you will have a second instance with a lowered priority.

UPDATE: There are now excellent scripts for After Effects 7.0 and later that will let you setup and start a background render from a palette inside AE, so use Lloyd Alvarez’s script BG Render instead of the technique described above!

12 Responses to >AE: Render in the Background, Work in the Foreground

  1. Lloyd Alvarez

    >Great tip, but i think it would make more sense to use aerender to render in BG instead of another GUI instance.

    On OS X open the terminal and type:

    Computer:~ designer$ /Applications/Adobe\ After\ Effects\ 7.0/aerender -project /Users/designer/Desktop/project.aep

    you can then renice +20 to lower the priority on aerender.

    -Lloyd

  2. Anonymous

    >also looking into this on windows; add aerender to your path, then start it with a low priority via

    start /low /b aerender myproject.aep

    -matt

  3. Anonymous

    >further to this, you can immediately start aerender at a low priority by sticking ‘nice’ at the start of the command line.

    ie,

    nice /Applications/Adobe\ After\ Effects\ 7.0/aerender -project /Users/designer/Desktop/project.aep

    -matt

  4. evan

    >Hi, will this work with AE 6.5pro?

  5. Jonas Hummelstrand

    >Evan, yes this will work in 6.5 as well.

  6. Jonas Hummelstrand

    >If you want to, you can use “aerender” which is the Render-only version of AE. I just find it easier to use the same old AE I’m used to. This way I can switch back and forth between the instances so that when one rendering is done, I can continue working in that instance…

    Note that the great tips by Lloyd and Matt only apply to OS X (hence the DOS-like commands)! ;-)

  7. Jonas Hummelstrand

    >Here how you can start “aerender” under Windows XP. Just type the following into an empty text file, and save the file as “render.bat”

    start “Background render with AE” /D”%ProgramFiles%\Adobe\Adobe After Effects 7.0\Support Files\” /belownormal /b aerender.exe -project “C:\render1.aep”

    Whenever you want to render a project in the background, just edit the file in a normal text editor and just replace the path and name of the After Effects project file. Save the BAT file and then just double-click it to start all the queued items in the Render Queue of that project.

  8. Anonymous

    >In Mac OSX 10.4, all i had to do was go to the AE7 app file, right click and show package contents, then in the MacOS folder double click the After Effects file. A terminal window will open up and launch a second instance of AE.

  9. Anonymous

    >hey is this wworking also on cs3?

  10. Jonas Hummelstrand

    >Yes, it should work in CS3 and CS4 as well, but why bother? Read the update at the top of the post and use Lloyd’s excellent BG Render script instead!

  11. Terry

    >Thanks or these tips, Jonas.
    I have an old PC laptop that only runs AE 6.5 and got your render.bat to work which is great…. however, it only renders AVI files, ignoring the Output Module settings that tell it to make a QuickTime.mov and post-render import.
    Any clue as to how to make it behave better?
    I can open a second instance of the program to accomplish the same thing, I just liked this trick, so it really isn't a huge problem.

    Terry Syndergaard (Tee Ess)

  12. ritesh

    excellent dude works on win 7 cs 5 and cs5.5