The beat . A blog by premiumbeat

March 15, 2013
Author:
Categories:
SmokeVideo EditingVideo Production

Timeline vs ConnectFX Render Comparisons in Smoke

Ever wonder why some renders are faster than others? Here is a breakdown of how effects render on the Smoke Timeline vs ConnectFX.

Smoke 2013 Header

When you are working in Autodesk Smoke and building effects you can composite vertically on the timeline, by layering clips on top of another, and adding various effects from the FX Ribbon. Compositing on the timeline is a great way to easily look at the timing and pacing of your shots.

Once you are happy with how things are playing, you can promote your vertical composites with existing timeline effects to ConnectFX, Smoke’s node-based effects environment.

But no matter how you work, you eventually need to render.  For a video editor or compositor, this is the moment of truth.  There is one question we all ask ourselves before we hit that RENDER button. “How long is this going to take?”

The effect you just spent 30 minutes setting up in ConnectFX, with multiple clips, crisscrossing links going from node to node, 3D Text and lights – how long is it going to take to render?  A minute or an hour?  Or, does this 10 layer, 5 minute timeline composite with Axis, Keys, and Color Warps give me 10 mins to check my Twitter feed or do I have time to watch a movie on Netflix?

The Semi-Scientific Breakdown:

I setup several different effects scenarios using Timeline FX that I could promote to ConnectFX and compared the times each one rendered. One very important thing to understand about these render times – don’t get hung up on the actual times that each render took. This comparison is more about the difference in time between rendering timeline effects vs ConnectFX.

Depending on your hardware everyone will get faster or slower speeds in rendering, but the difference between the 2 should remain consistent.  So if it takes :60 sec on the timeline and :10 sec in CFX for me to render one of these examples, it may take you, on your system, :30 and :05 sec.

The point is, look at the speed difference between the two and not the overall speed.  There are too many factors that come into play when rendering, such as, CPU, GPU, codecs, drive speed and I/O.  But all things being the same, you will get similar results between the timeline and CFX.

All of these tests were done on my MacBook Pro (seen pic) with source files and Autodesk Media Folder on the system drive. Not a recommended workflow, but fine for testing. I may revisit this later with proper external storage. Test were performed with Smoke 2013 Service Pack 2. [Click images below for larger view.]

EXAMPLE :1

1920×1080 H.264 8 bit
Canon 5D – 120 frames @ 29.97
Linked Clips / Render ProRes LT

I took 6 different clips and use an AXIS effect to place them in a 3×2 grid. A CFX clip was created using Generate Composite.


[RENDER RESULTS] Timeline 2:02 – CFX/Action 4:40
Example 1 shows us that CFX and Action is much slower than doing this same setup on the timeline.  Why? Action needs to load each frame from each clip before it can process the rendered frame. On the timeline render, each clip is rendered as a full clip repositioned over black. Each layer is then just rendered over top of the layer below as timeline renders are done layer by layer. So the I/O of getting the frames before processing in Action slows it down.

Example 2:

1920×1080 H.264 8 bit
Canon 5D – 120 frames @ 29.97
Linked Clips / Render ProRes LT

I took the same setup as Example 1 and added a CC effect to turn the clips blue. A CFX Clip was created using Generate Composite.


[RENDER RESULTS] Timeline 3:30 – CFX/Action 4:50
Example 2 will render the CC effect and then the AX effect for each layer, 1 at a time on the timeline. This increases the render time from Example 1. But in Action, the added CC nodes only slightly affected the overall render time. Why? The Timeline must render 240 frames for each layer (2×120), where CFX only adds the CC effect to each clip before rendering them as a whole.

Example 3:

1920×1080 H.264 8 bit
Canon 5D – 120 frames @ 29.97
Linked Clips / Render ProRes LT

I took the same clip and created the same 3×2 grid. A CFX Clip was created using Generate Composite.


[RENDER RESULTS] Timeline 1:51 – CFX/Action 4:20
Example 3 playout very similar to Example 1. Action is much slower because it must load each clip, even though it’s the same clip, which creates a slowdown due to I/O. However, if you optimize the CFX setup by linking the single clip to each Action input the render time decreases dramatically to :51 sec. This makes it faster than the timeline render.

Example 4:

1920×1080 ProRes 422 10 bit
120 frames @ 29.97
Linked Clips / Render ProRes LT

Here is a chroma key of a ProRes clip over a .jpg (3000x2000px) resized (1920x1080px) still frame. A CFX Clip was created using Generate Composite.


[RENDER RESULTS] Timeline :41 – CFX/Action 1:20
Again, the timeline must render each layer separately, one at a time. But this is still faster than Action. Action must load a large still image, and it must load that image again for each frame. This slows CFX down, but there is a way to optimize it. If you add a MUX node after the Resize node, you can set it to freeze the still and then reuse that frame during processing. This now makes CFX render increase to :30 sec. again making it faster than the timeline render.

Example 5:

1920×1080 8 bit  H.264
Canon 5D – 120 frames @ 29.97
Linked Clips / Render ProRes LT

This is a simple CC effect on the Timeline. A CFX Clip was created using Generate Composite and then deleting the Action node which was not needed.


[RENDER RESULTS] Timeline :08 – CFX/Action :16
This one actually puzzles me. I can’t explain why the timeline is 2x faster than the same effect in CFX. I welcome anyone else to test and see what their results are. I question if this is a bug in the 2013 Service Pack 2.

Example 6:

1920×1080 H.264 8 bit
Canon 5D – 120 frames @ 29.97
Linked Clips / Render ProResLT

Here is a Wipe effect and the CC effect. The black is generated due to no background in the timeline. A CFX Clip was created using Generate Composite.

[RENDER RESULTS] Timeline :32 – CFX/Action :28
This is almost a dead-heat. The Timeline must make two 120 frame renders, where Action only needs to make one. The GMask is created in the Modular Keyer in Action.  If you create the effect with nodes in CFX and avoid Action the render time was :26.

Example 7:

1920×1080 H.264 8 bit
Canon 5D – 120 frames @ 29.97
Linked Clips / Render ProRes LT

This is using AX to keyframe a gaussian blur in X & Y from 0 to 30 over 120 frames. A CFX Clip was created using Generate Composite.

[RENDER RESULTS] Timeline :26 – CFX/Action :12
This is one where Action wins… largely due to GPU processing. The Axis blur on the timeline is not as optimized as CFX. If you used the Blur node in CFX, the results were the same as Action blur.

Example 8:

1920×1080 H.264 8 bit
Canon 5D – 120 frames @ 29.97
Linked Clips / Render ProRes LT

In this example we use a simple non-animating Text effect. A CFX Clip was created using Generate Composite and then Action was deleted to clean up the schematic.

[RENDER RESULTS] Timeline :09 – CFX/Action :30
This is a prime example of how poorly optimized the Text Node is in CFX. The Text Node must render the type for each frame even though it isn’t animating. But if we use the MUX node again and create a 1 frame still, then the CFX render time matches that at of the timeline at :09 sec.

Example 9:

2560×1350 (Half Premium) 12 bit
Red Clip – 190 frames @ 23.98
Linked Clips / Render ProRes 4444

Here we test a larger file size and higher bit depth, as well as rendering to a higher codec. A CC Negative effect as well as an AXIS 360 rotate and Scale animation from 0 to 100. A constant blur value of 5 was also used. A CFX lip was created using Generate Composite.

[RENDER RESULTS] Timeline 1:59 – CFX/Action :54
CFX and Action wins this one as well. Why? The timeline must render 2 passes for its effects, while CFX can render it all at once. Also the blur in Action takes better advantage of the GPU.

Conclusion:

What we can gather from all of this is that some Smoke nodes work better in CFX than others. Some are more optimized. I think there should be better parity between the Timeline and ConnectFX.

The ConnectFX pipeline was reworked for the 2013 release and with the Service Packs released the optimization of the CFX nodes gets better and better. I hope these simple tests shed some light on your own renders. The MUX node in ConnectFX is your friend. Use it anytime you need to still a frame to speed up your renders or limit a range in an animation so Smoke doesn’t continue to calculate needlessly. I would be happy to see if your renders match mine in terms of differences in time between the Smoke Timeline and CFX.\

Please share your own thoughts & experiences in the comments below!

Need Music for your Video Projects?

Browse our Exclusive Music Library

Related Posts:

  • http://twitter.com/Jonescifer Paul Wolf

    awesome review, as a flame artist i am always happy to learn new things on this system like the mux node suggestion.. simply great, thank you.

    • http://twitter.com/BKMeditor Brian Mulligan

      Thnaks. Glad it helped.

  • robert

    thanks Brian – very good list of basic setups showing the advantages of each procedure …

Become a better editor!