Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Forums Adobe After Effects Why Does AE Need MultiProc?

  • Why Does AE Need MultiProc?

  • Mark Walczak

    April 15, 2011 at 5:36 pm

    Hi Everyone,

    I just have a general, albeit simple question. If AE is a true 64-bit program, then why does it even need the MultiProc feature? Shouldn’t be able to gobble up the entire processor(s) by default? Now, I know that not all x64 programs are created equal, but I find it hard to believe that AE can’t take up 800% CPU (on an 8-core Mac) in the same manner that Cinema4D is able to work. The most CPU I’ve ever seen the standard AE process take is about 300%.

    If anyone could shed some light on this topic, I would greatly appreciate it!

    Thank you!

    https://vimeo.com/explosivegraffix

  • Joseph W. Bourke

    April 15, 2011 at 5:58 pm

    Hi Mark –

    I’ve just begun looking at this issue myself, as a recent purchaser of CS5 Master Suite. I’m going to need some real horsepower. I ran across this on the Adobe site, and I think the videos give a pretty good grounding in multi-processors, although they are HP centric:

    https://tv.adobe.com/show/maximizing-cs55-performance-with-intel-xeon-processors/

    Joe Bourke
    Owner/Creative Director
    Bourke Media
    http://www.bourkemedia.com

  • Jon Bagge

    April 15, 2011 at 6:35 pm

    I just have a general, albeit simple question. If AE is a true 64-bit program, then why does it even need the MultiProc feature? Shouldn’t be able to gobble up the entire processor(s) by default?

    64 bit has nothing whatsoever to do with multi processing. It just means it can address more memory.

    Now, I know that not all x64 programs are created equal, but I find it hard to believe that AE can’t take up 800% CPU (on an 8-core Mac) in the same manner that Cinema4D is able to work. The most CPU I’ve ever seen the standard AE process take is about 300%.

    For multi processing to work the program has to be specifically written to be able to split the work up into individual chunks that can be rendered on separate cores. If a calculation on one core depends on the result of a calculation on another, it will have to wait. There are plenty of effects where it’s either hard or impossible to break up the work in this way.

    In AE you can have an incredible amount of layers with different effects on them, and it’s not trivial to work out how to share this across cores.
    That’s why in AE you can run multiple copies of the application on separate cores, each rendering a frame. Most effects don’t depend on information from other frames (although some do).

    In Cinema 4D each pixel in the frame is a separate calculation (at least for the most part) and so it’s much easier to split the frame up into units that can be spread across cores.

    Having said all that, I can easilly get AE to use 80-95% CPU across 16 cores (8 cores with multithreading) for certain type of projects.

    ————–
    http://www.jonbagge.net
    Jon Bagge – Editor – London, UK
    Avid – FCP – After Effects

  • Walter Soyka

    April 15, 2011 at 6:48 pm

    [Mark Walczak] “I just have a general, albeit simple question. If AE is a true 64-bit program, then why does it even need the MultiProc feature? Shouldn’t be able to gobble up the entire processor(s) by default? Now, I know that not all x64 programs are created equal, but I find it hard to believe that AE can’t take up 800% CPU (on an 8-core Mac) in the same manner that Cinema4D is able to work. The most CPU I’ve ever seen the standard AE process take is about 300%.”

    64-bit doesn’t have much to do with processing power — the big advantage with a 64-bit application is the amount of memory it can use.

    There’s a significant technical difference between the AE and C4D renderers.

    To oversimplify a bit, AE’s renderer is layer-based, and it starts with the source footage. It renders each layer of source footage and composites them together internally as it goes.

    C4D (and other similar apps) use bucket (the little orange render boxes) or scanline renderers, essentially starting with the rendering viewport and working backwards. All the objects in the scene are sorted by their coordinates; if an object appears within a bucket or scanline, it will be rendered there. If not, it’s not considered in that bucket.

    They both fundamentally use multiprocessing to speed up renders, but because the renderers are different, the way the tasks are divided up is different, too. AE multiprocessing renders one whole frame each in multiple processes; C4D “multiprocessing” renders one bucket each in multiple threads or processes. In both cases, the threads/processes are split among processing cores, and the results are combined by the host application.

    In other words, AE thinks in frames, and works on multiple frames at the same time. C4D thinks in buckets of pixels, and renders multiple buckets within a single frame at the same time.

    Because each rendering process for AE must have access to all the layers it needs in its own space in RAM, you need a lot of RAM. By way of example, I’m rendering a big AE comp right now. I have 8 cores, and they are all running between 97-100% at any given moment. I have 32 GB of total RAM, about 25 GB of which is used right now. If I only had 16 GB of RAM, my processors would be waiting on items to be shuffled in and out of memory, and would be running much slower.

    Walter Soyka
    Principal & Designer at Keen Live
    Motion Graphics, Widescreen Events, Presentation Design, and Consulting
    RenderBreak Blog – What I’m thinking when my workstation’s thinking
    Creative Cow Forum Host: Live & Stage Events

  • Mark Walczak

    April 15, 2011 at 7:40 pm

    Wow! These are very thorough answers – thanks, everyone!

    https://vimeo.com/explosivegraffix

Viewing 1 - 5 of 5 posts

Log in to reply.

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy