Could Someone Give me Advice for Managing Heavy Compositing Projects in Flame?

Hello there,

I have been working with Flame for a few years now; and as I am starting to take on more complex compositing projects; I am finding myself running into performance bottlenecks more frequently. I am hoping to get some advice from those of you with more experience managing heavy projects; especially when working on high resolution footage and with multiple layers of effects.

I understand that caching and using proxies can help speed things up, but I’m not entirely sure how to best utilize these features in Flame. Is there a standard workflow for when to cache or use proxies during a project? Are there any common pitfalls to avoid?

When working on a large project with numerous assets, keeping everything organized can get overwhelming. How do you typically structure your projects and media in Flame to ensure you do not lose track of assets or end up with a cluttered timeline?

Rendering times have been creeping up as my projects become more complex. I am curious if there are any settings or tricks within Flame that can help reduce render times without sacrificing quality.

Also, I have gone through this post; https://forum.logik.tv/t/is-there-any-hope-for-flame-in-the-future-for-compositing-ccsp/ which definitely helped me out a lot.

Lastly; I am curious about how much of a difference upgrading hardware can make. Are there particular specs that you have found make the biggest impact for performance in Flame?

Thanks in advance for your help and assistance.

3 Likes

Welcome! Can you describe your setup a bit? What hardware are you running? How many artists are on your team, or is it just you? Can you elaborate a bit on the comps? For example, what resolution are you working with?

Hey @chiravlo welcome to Logik,

As long as you have a fast NAS/SAN solution you don’t have to cache material. Caching will make a copy of said material on your direct connected storage. Which if configured properly will give you read/write speeds upwards of 1GB/sec with modern hardware. So if your network storage is fast there is no need to cache, but additional network traffic can impact the NAS/SAN access speeds.

That said, there are a lot of pitfalls that can hinder rendering speeds. Here are some of them:

  1. Action/Gmask Tracer motion blur samples
  2. Branches that are a single frame but that have a lot of nodes working on them during the entire sequence. You can add a Mux node and freeze a single frame or a range of frames.
  3. Other nodes that have a sample parameter that is cranked way up.
  4. Sources that are way too large that you need to scale down in the batch flow. You can reduce the size of source clips/frames that have no impact on the outcome. Like an 8K clip that is scaled way down.
  5. Unnecessary nodes that are just taking processing time…

This is a very general overview, but I have gone into setups of my juniors and sped things up massively. Having a better understanding of how Flame works is great but comes with experience and debugging problematic setups.

I hope this helps…

2 Likes

He may have meant cache a node at a certain point within the Batch, i.e. a PreComp.
I tend to create BFX for this whilst I know others write out a file then replace it.

Then again, he may have meant on the media as you were suggesting…

A few tips.
Pre-render after nodes that are render intensive (Noise reduction like Neat Video, heavy paint nodes, something with lots of motion blur, etc;). I generally right click the node that is a heavy render, hit create BFX. Then I right click on that node and hit render then use the BFX going forward. If you think you are going to need to adjust things upstream of it though then this is a waste of time.

In Batch preferences, turn adaptive degradation on. Means when you are adjusting things it isn’t trying to render everything as you are making your changes.

Turn Motion Blur off until you are ready to do a proper render. There are some tricks to building a large batch that help with this so that turning off motion blur in one node will turn it off everywhere.

Compass can be your friend on a big comp when navigating.

Proxy mode can be helpful if you’ve got a load (pardon the pun) of high resolution sources in your comp. I tend to only use it on really big comps using lots of clips.

Use the more modern versions of nodes. They’re faster.

Use Mimick Links and/or expressions wherever you can use one control to change many. I’m always right clicking values to copy channel from one value then right clicking on another to link channel but rely on Mimick Link wherever possible.

If you have any 1 frame patches that you are running through several nodes. Stick a Mux at the end of the line of nodes and freeze the one frame. Once that Mux has rendered once no calculations will be done again.

It is always worth being mindful of the order and placement you add nodes in. I’ve seen other artists work where they may have blur nodes in several different places where it could have just been one node at the right place. Don’t just keep throwing extra nodes on when you can potentially adjust elsewhere or even do a quick rebuild of your node tree.

5 Likes

For what it’s worth, and maybe this is just me – but I find that working in the Published EXR Batch workflow to be more efficient than doing timeline BFX work. BFX I save for quick timeline graphics layers and animation.

3 Likes

Here’s some thoughts for you (some more controversial than others):

You barely ever need to use anti-aliasing on anything. A lot of times flipping a surface to EWA+Linear will get the job done or a pixel of blur before input.

Action gmasks slow you to a crawl. Mask outside action. Which leads me to…

Don’t do everything inside one mondo action. Think compositing in two directions. Horizontally and vertically. With horizontal and vertical composites nested all about.
In my opinion, a single action is way easier to see and understand the large picture than a string of twelve comp nodes.

Pre-render a good deal but do it strategically. I tend to think of what things will need revising due to subjectivity and what things are objective (the color of a flower vs a boom shadow being gone or not). Try to organize those pre-renders so they’re not all dependent on one another by bringing things together in action. Avoid having to prerender through nine different things again because it was nine dependent pretenders and you gotta change something on the first one. This goes back to strategically comping horizontally and vertically and using action to your advantage for smart layering and organization.

Y_lensblur is super fast and looks really great for most depth of field uses.

LS_Dollface can be cranked to work for a lot of what you you’d use a much slower median filter for.

Paint (this is going to be controversial maybe): don’t use a paint node cloning every frame when you can just use a gmask tracer and a 2d transform to Front source outside of an action. 10x faster.

Nobody should be using modular keyer. There I said it. It’s antiquated and antithetical to quickly understanding a batch set up for anyone picking it up.

Motion blur active and inactive is keyframable. Turn it off when you don’t need it. Don’t use more samples than you need.

Crop something down if you’re working on a specific area. Super helpful for things like analyzing motion warp tracking stuff.

Perspective grid is rad.

Resize or crop elements to the size you actually need them to be and prerender those.

If you’re working on a long shot, say 1000 frames but you’re just working on the middle 300 frames, a comp node setting plate to 0% for the first couple hundred frames, then comp to 0% for your 300, then back to plate 0% at the end of the comp won’t speed up your render time. But a multiple input mux node in which you’re switching input 0 (plate) and input 1 (comp) by keyframing input will drastically speed up your render time (an in batch cut essentially).

There’s so many other things but I’m just gonna end with use Occam’s razor to your advantage anytime you can: the simplest solution is often the best one.

6 Likes

HIya @chiravlo, welcome to the community!

FYI the forum’s anti-spam features are going crazy on your account. We have a lot of users copy/pasting / using translating services so it’s not uncommon for our spam bots to be a little confused behind the scenes.

If you wouldn’t mind, drop me a PM with veritification steps and I’ll be able to assist.

Thanks and welcome!

1 Like

Agree with most all of this but – I’ve always heard this about Action gmasks (slowing down) – but they never fail me on quick cleanup tasks. I guess if it’s something more complicated? Like, instead of 2d transform to Front source, I always use this to offset tracking markers on a screen. With a mask parented, inverted, shifting the image. Works great. Am I off-set?

Wrong.

1 Like

I knew I’d hear from you on that Alan! LOL Agree to disagree!

1 Like

Wrong.

3 Likes

Tom Hardy Inception GIF

1 Like

@BrittCiampa - I think some people object to the premise that a Modular Keyer can conceal so many nodes, whereas it’s been possible to expose those nodes in batch for a while, including animation channels, and easier mimic-linking, and expressions linking.
I like the approach of exposing the mechanisms of a batch group, including modular keyers, but it does make context-viewing a little more complex.
The obvious solution is to get the nuke department to make all of the mattes and roto, and secretly farm the trickiest bits out to runway or some other company.

Batch level Matte Blend has limitation that do NOT exist in the Matte Blend within the Modular Keyer. I do lots of wierd things with it. One day I’ll show you guys my setup, and I think you will be impressed, but for now, it’s my little secret.

7 Likes

Off Topic (SLightly)
I miss the old Keyer sometimes.

I’m curious about this. I don’t use Matte Blend in batch.

@BrittCiampa - he could tell you, but then…

Tom Cruise GIF by AzunaFresh

2 Likes

Tom Cruise Reaction GIF

2 Likes

This is one of my favourites tips. On the same way, add a freeze mux after a non animated paint.

Another tip is to use resizes nodes to crop and create ROI, when the patch is localizated in a static region of the frame. If not, stabilize>crop>,>patch>unstabilize>uncrop is one of the best workflow, not only to make things easier, but also to optimize time and process incredibly.

1 Like