Jump to: Board index » General » Fusion

Fusion page perform issue and possible work around?

Learn about 3D compositing, animation, broadcast design and VFX workflows.
  • Author
  • Message
Offline

zixzax

  • Posts: 19
  • Joined: Wed May 05, 2021 11:20 am
  • Real Name: Tim Chou

Fusion page perform issue and possible work around?

PostWed Sep 08, 2021 9:27 am

I’m fairly new to fusion. These might be some very rudimentary problems, but I did some research forehand but didn’t get a definitive answer.
I’ve recently been working on a short commercial project with a relatively small time window. The director finished the cut with the original ARRIRAW file in DR and did some basic chroma key in fusion page, so naturally I feel it’s a good idea to finish keying/composite/color in DR all together,

I did the key in fusion page, link foreground and background to separate media out in order to correct them in color page, then I’ll composite them in color page with layer mixer node.
I’ve encountered a lot of problems. I’ll list them below. Which makes me wonder if it is a proper workflow? Or should I do my color correction inside fusion/external app then export with prores4444 etc. then do my grading on the whole image. I feel it’s really tedious and didn’t utilize the color page and the raw file. Plus, it’s hard to adjust the composite this way.
Image

My first problem is Fusion page is extremely slow, simply keying(with around 10 nodes) and composite a background makes the whole software painfully slow.
I have 32g ram and a simple clip take all of them. Even after I turn off DR I still need to terminate the residual software left in order to purge my memory, which looks like a memory leak to me.
I don’t expect a smooth playback, but sometimes even a single frame can’t go through.
Some people say that Fusion studio will perform much better. Here comes another problem. How do I transfer what I’ve done in fusion page into standalone fusion? The only workaround I find is manually copy/paste node clip by clip. Plus, the fusion studio doesn't seem to recognize ARRIRAW.
Image

In terms of color page compositing, my foreground image does have an alpha channel, which I could verify through my thumbnail and keying tab in color page, then I composite it with my background import, it still looks like my foreground is on a solid back, but the thumbnail updated correctly. If I add another output from fusion directly after media in so I could key in color page, the composite correctly showed in viewport. How is that happening and how do I solve this problem?

Image
Image



All my footage is on an ssd, my pc spec is 3700/5800 2070s/1070 32g ram, with DR studio 17.3.1
Last edited by zixzax on Wed Sep 08, 2021 11:19 am, edited 1 time in total.
Offline
User avatar

TheBloke

  • Posts: 1905
  • Joined: Sat Nov 02, 2019 11:49 pm
  • Location: UK
  • Real Name: Tom Jobbins

Re: Fusion page perform issue and possible work around?

PostWed Sep 08, 2021 9:46 am

First thought: The Clean Plate is HORRIBLY slow. It's not GPU accelerated, and it will kill performance. And you have two of them.

Firstly: why are there two Clean Plate nodes? Maybe I am not understanding the flow, but it looks like both take the same source image? I think you could use one Clean Plate for both DeltaKeyer nodes. Like in this example from one of my own comps:
Image

Regarding the bad performance of the Clean Plate node, fortunately this can usually be solved fairly easily.

Method 1: Set Clean Plate to "Hold Frame" on a suitable frame. Then it only calculates once, then caches. Do this for both CPs. Of course because the CP is not reading every frame, it's possible that the clean plate generated on frame X is not perfect for every frame. But at least in my own experience it's always been OK.

Method 2: Generate a pre-saved Clean Plate based on an average of a number of frames, then saved as EXR. I learnt this method from Millolab's excellent keying tutorial which I will link it at the end. Note, if you use this method in Resolve, make sure you load the EXR with a Loader node, and not a MediaIn.

Method 3: Don't use Clean Plate at all. Millolab has a macro that can create a similar effect, but faster. I've attached it, and here's a video showing how to use it: https://www.dropbox.com/s/kim560t5qrb6u ... e.mov?dl=0

Personally I've so far used method 1 and 2, with good results.

With regards to Fusion Studio: Traditionally this has always been faster and more stable, and with only 32GB of RAM you may well see some benefits. To copy your comp from Resolve you can go to File -> Export -> Fusion Composition, then open this in Fusion Studio.

However if ARRIRAW is not supported in Fusion Studio, then you will likely need to render them out in a different codec (ProRes 4444 or DNxHR 444 for example) and use that in Fusion Studio. Fusion Studio can use FFMpeg to read and write any of the many formats that FFMpeg supports, but I can't find any reference to FFMpeg supporting ARRI RAW.

The first thing I would do is fix your Clean Plates, and see how performance is after that.

PS. As a general Resolve performance tip, never use MediaIn nodes for still images. I don't know if you're doing this, probably not. But if you ever need to load a still image (JPG, PNG, EXR, etc), always use a Loader node. In Resolve MediaIn nodes never cache in RAM, where Loader nodes can and will. This can make an enormous performance difference when dealing with still images, as these can be loaded and cached once and then never need to be processed again. This does not apply to Fusion Studio, where you always use Loader nodes.

PPS. Are you using Erode/Dilate + Blur to shrink the first DeltaKeyer before passing it to the second DeltaKeyer as a solid matte? If so, have you tried using the Erode/Dilate and Blur options in the first DeltaKeyer's Matte tab? This might save a couple of nodes. That is what I am doing in my screenshot I showed above - first DK is eroded and then fed to second DK as a solid matte, so the second DK is for edges only. This same technique is shown in the Millolab video linked below, so you can see in more detail how he does it in that video.

Attached: Millolab's Clean Plate macro:
ml_CleanPlate.setting.zip
(2.63 KiB) Downloaded 69 times


Millolab's excellent keying tutorial showing CleanPlate Frame Average, separate DKs for solid matte vs edges, advanced despill techniques, blacks matching, light wrap, and more:
Last edited by TheBloke on Wed Sep 08, 2021 10:16 am, edited 5 times in total.
Resolve Studio 17.4.3 and Fusion Studio 17.4.3 on macOS 11.6.1

Hackintosh:: X299, Intel i9-10980XE, 128GB DDR4, AMD 6900XT 16GB
Monitors: 1 x 3840x2160 & 3 x 1920x1200
Disk: 2TB NVMe + 4TB RAID0 NVMe; NAS: 36TB RAID6
BMD Speed Editor
Offline
User avatar

TheBloke

  • Posts: 1905
  • Joined: Sat Nov 02, 2019 11:49 pm
  • Location: UK
  • Real Name: Tom Jobbins

Re: Fusion page perform issue and possible work around?

PostWed Sep 08, 2021 9:54 am

Second thought: I see you have Noise Reduction in the flow, which I think is the Color Page noise reduction module.

This is pretty good, but it's also quite intensive. So ideally you don't want to be running this live every time you test your comp.

Option 1:
1. Drag your clips to a Timeline, go into Color, set up the desired noise reduction.
2. Then render them out with the NR applied. Either with Deliver -> Individual Clips, or using the new v17 Render In Place feature on the timeline itself
3. Now use those clips in Fusion, without the Noise Reduction node.

Option 2:
Keep using NR in Fusion, but enable Cache To Disk on it. Right-click on the Noise Reduction node, choose Cache To Disk, and you will see this UI:
Image

Choose an appropriate folder, then either click OK to have the cache saved as frames are played, or click Pre-Render to start a render job to pre-cache the whole composition length in one operation.

Using either method will mean that you're not using the GPU resources to calculate Noise Reduction every time you alter and test your comp. You do this only once, then keep re-using the same result.
Resolve Studio 17.4.3 and Fusion Studio 17.4.3 on macOS 11.6.1

Hackintosh:: X299, Intel i9-10980XE, 128GB DDR4, AMD 6900XT 16GB
Monitors: 1 x 3840x2160 & 3 x 1920x1200
Disk: 2TB NVMe + 4TB RAID0 NVMe; NAS: 36TB RAID6
BMD Speed Editor
Offline

zixzax

  • Posts: 19
  • Joined: Wed May 05, 2021 11:20 am
  • Real Name: Tim Chou

Re: Fusion page perform issue and possible work around?

PostWed Sep 08, 2021 11:17 am

TheBloke wrote:Second thought: I see you have Noise Reduction in the flow, which I think is the Color Page noise reduction module.

This is pretty good, but it's also quite intensive. So ideally you don't want to be running this live every time you test your comp.

Option 1:
1. Drag your clips to a Timeline, go into Color, set up the desired noise reduction.
2. Then render them out with the NR applied. Either with Deliver -> Individual Clips, or using the new v17 Render In Place feature on the timeline itself
3. Now use those clips in Fusion, without the Noise Reduction node.

Option 2:
Keep using NR in Fusion, but enable Cache To Disk on it. Right-click on the Noise Reduction node, choose Cache To Disk, and you will see this UI:
Image

Choose an appropriate folder, then either click OK to have the cache saved as frames are played, or click Pre-Render to start a render job to pre-cache the whole composition length in one operation.

Using either method will mean that you're not using the GPU resources to calculate Noise Reduction every time you alter and test your comp. You do this only once, then keep re-using the same result.


Thank you very much for your in depth reply!!

On a second though it did make no sense to use two clean plates, and for most of the plates I didn't use hold frame.
I'll try to dive into Millolab's tutorial and fix my node tree.

About the noise reduction node, if I rendered out a noise free clip I still need to fetch another RAW clip as source in order to adjust in color page. I'll try the cache method.

And again, thank you for all the input.
Offline
User avatar

Bryan Ray

  • Posts: 2485
  • Joined: Mon Nov 28, 2016 5:32 am
  • Location: Los Angeles, CA, USA

Re: Fusion page perform issue and possible work around?

PostWed Sep 08, 2021 4:33 pm

One tweak to TheBloke's recommendations: If you're going to transcode the media, don't render to a video container. Render to frames.
Bryan Ray
http://www.bryanray.name
http://www.sidefx.com
Offline
User avatar

TheBloke

  • Posts: 1905
  • Joined: Sat Nov 02, 2019 11:49 pm
  • Location: UK
  • Real Name: Tom Jobbins

Re: Fusion page perform issue and possible work around?

PostThu Sep 09, 2021 1:04 pm

Bryan Ray wrote:One tweak to TheBloke's recommendations: If you're going to transcode the media, don't render to a video container. Render to frames.
Could you elaborate on that, Bryan?

I've always associated single frame formats with being for network rendering and enabling partial renders. I'd not thought of them as a general performance boost when one wasn't doing network renders?

If anything, maybe the opposite: all the extra filesystem work required to write one file per frame seems like it would more likely reduce performance than increase it?

Is that not the case?
Resolve Studio 17.4.3 and Fusion Studio 17.4.3 on macOS 11.6.1

Hackintosh:: X299, Intel i9-10980XE, 128GB DDR4, AMD 6900XT 16GB
Monitors: 1 x 3840x2160 & 3 x 1920x1200
Disk: 2TB NVMe + 4TB RAID0 NVMe; NAS: 36TB RAID6
BMD Speed Editor
Offline
User avatar

Bryan Ray

  • Posts: 2485
  • Joined: Mon Nov 28, 2016 5:32 am
  • Location: Los Angeles, CA, USA

Re: Fusion page perform issue and possible work around?

PostThu Sep 09, 2021 6:59 pm

Fusion, and VFX software generally, is not optimized to use video containers, which favor speed over image quality, while Fusion wants to do the opposite. Chad knows quite a bit more on the topic than I do, I think, so I don't want to say too much for fear that he'll pop in and contradict me. :D

Network rendering is certainly one place where you simply can't write to a video container, but there are other reasons not to use video in Fusion. On the rendering side, the longer the comp takes to render, the more likely it is to fail at some point along the way. If you're writing frames, you can simply pick up where you left off. If you're rendering to a video, you have to start from the beginning and bear the same risk of a failure partway through. You can always transcode the finished frames into a QT once it's done, which goes much faster. And Fusion's not particularly efficient at writing video, anyway, so you're better off doing that in a post-process, anyway. At least, that's been the case in the past. I haven't benchmarked write speeds since Fusion 7, to be honest, and that was before the old QT framework was deprecated.

You also have the benefit of being able to do something like tweak a roto mask and rerender only the frames where you made the change instead of having to render the entire thing over again for only a few changed frames.

But we were actually talking about input rather than rendering, which is a more subtle thing, and where I don't feel qualified to say much. If I have some time later, I might comb the forum for where people who know more than me have talked about it in the past.
Bryan Ray
http://www.bryanray.name
http://www.sidefx.com
Offline

zixzax

  • Posts: 19
  • Joined: Wed May 05, 2021 11:20 am
  • Real Name: Tim Chou

Re: Fusion page perform issue and possible work around?

PostSat Sep 11, 2021 7:08 pm

A quick update on the performance issue
Alter clean plates work, and noise reduction did drain a lot of resources. Sadly the disk cache always failed at certain frames, so I have to balance the shot in raw tab and denoise in color tab then export as DNXHR 444.
The color page problem still persists, but only on some clips, and I have no idea what caused it.

Edit
For anyone who encountered this problem in the future, don't put your fusion matte in mediaout 1, it just doesn't work for no reason.

Return to Fusion

Who is online

Users browsing this forum: No registered users and 20 guests