MochaPro OFX in Resolve tracking and memory usage issues. Render crashes

I’m running into some major issues with trying to render a small 2 minute clip. It’s of a man staring at a burning house, except the “house on fire” is really just his glasses roto’ed out and overlayed with a small model house and a couple of clips of fire from Production crate.

Looks decent but Resolve absolutely refuses to render it crashing at random points during the render. Doesn’t matter iff I render in 4K, 1080p, or even 720p, it’ll crash at different places unrelated to the resolution I pick.

If it doesn’t crash it will show a different kind of weird behavior in that it will be rendering on the eGPU and seem to be moving along fine when suddenly all activity on the eGPU stops and the CPU cores max out and resolve stops responding. Also weird at this point is that the fans do not kick in as they usually do when the CPU cores max out on a heavy task so while the activity monitor appears to show the cores maxed out, it also doesn’t appear like they’re doing anything. The system remains responsive and I can even fire up and run Lightroom no problem. Although the cores are all maxed resolve rendering appears to be frozen at whatever percentage it was at when this starts.

The fires, the middle house and the man are all 4K. The man and the model house were shot on a BMPCC4K in braw 3:1.

There are 4 clips with effects, the heaviest of which is MochaPro doing the root and tracking of his eyeglasses, while one clip has MochaPro stabilizing the dolly push in which had a few bumps. The other 3 clips are on a tripod with just his head moving a bit back and forth naturally.

The system is a 2017 iMac 5K w/4.2GHz Quad-Core i7. 64GB RAM, internal Radeon Pro 580 and external via thunderbolt Vega 64 house in an Akitio Node Pro. All software and plugins are the very latest versions.

One last bit of weirdness is that when tracking the eyeglass in a couple of clips, MochaPro would run along fine for a bit and then suddenly start to max out the system memory. I’d have to force quit everything and start again. I was able to get it to complete the tracking after a few times of doing this and memory was maxed out threatening to freeze everything as I did it.

Images showing activity monitor during rot and during render. Note normal render shows Vega 64 GPU high usage and low CPU usage. https://imgur.com/a/dqjWhS9

When rendering correctly and making slow (<0.5 fps) but steady progress CPU/GPU usage looks like this: https://imgur.com/HUJAzO9

Any insight or help would be much appreciated thanks!

Mocha Pro doesn’t render back to the timeline in all modules in Resolve which is why we don’t officially “fully” support Mocha Pro in Resolve. However, I think also that Mocha Pro does not support your GPU, according to our list of supported GPUs. Please make sure you turn off GPU tracking and rendering in the Preferences under the GPU tab and save and close and restart Resolve.

Can you let me know if that helps? I will tag @martinb in case he has any more to add.

Thank you,
Mary

@maryp @martinb

Thank you so much. I’ll try that right away and report back. 2 follow on questions:

  1. Complex question: Where can I see that list of supported GPUs? Cos I have an RX5700 XT arriving today and I want to check it’s supported before I open it up and plug it in. If it’s not supported then what is the strongest GPU that is supported by Mocha for my Mac? Would Mocha Pro be happier with the Radeon Pro 580 that’s inside the iMac? Also… Is it ok to turn off GPU rendering in Mocha Pro but then have Resolve render with the GPU or does that have to be turned off too? Sorry, so many follow on thoughts. :slight_smile:

Edit: ok I found the list: Boris FX | Supported Graphics Cards . Wow, doesn’t look like Mocha Pro supports any of the newer-ish GPUs on mac. Definitely news to me. I had always believed if the Mac supported it then all apps on the Mac would naturally work with the card.

  1. Do I need to turn off GPU tracking and rendering in each Mocha node for each clip in Fusion, or can I do it once in the Mocha Pro settings and will that apply to all Mocha Pro nodes? Tested this. Once is fine. Applies across all clips.

Mark

I am glad you found the answers already!

So are you now rendering correctly?

Alas no, still crashing. Gonna first eliminate Mocha Pro from the workflow and render to be sure it’s a Mocha Pro issue.

Remaining questions:

  1. What is the most powerful GPU supported by Mocha on a Mac at present and/or in the near future?
  2. Even if GPU is turned off in Mocha Pro Resolve will still use one or both GPUs Internal Radeon 580 and eGPU Vegas 64. Will that still be an issue?

I am not sure what GPUs Resolve supports, so I don’t know the answer to whether Resolve will still have issues with that.

As to the most powerful GPU we support, let me poke @jps who knows a bit more about that subject than I do. But he’s on vacation, so maybe @martinb has an opinion there.

Cheers,
Mary

To be clear, the list on the website is the graphics cards that we KNOW to be supported. We only add cards to the list that have successfully been tested in production situations by QA. We do have people using the Vega 64 in the wild, but not as eGPUs as far as i’m currently aware.

In terms of GPU and Memory management, there’s a few things:

  1. Reduce your memory usage in the Mocha Preferences under the system tab. We set a fairly high memory maximum at 80%, so lowering this to around 40% may help to balance the load with Resolve.
  2. Can you show a screen grab of your current GPU settings? Sometimes settings can be changed there that should be left alone.
  3. Stacking Mocha Pro nodes can be computationally heavy. In some instances you may be better off rendering passes and replacing nodes along the chain with rendered sequences. In your case by the sounds of it you you are using Stabilize and Insert, which are CPU-only modules. You would get the GPU performance from the Remove module, but Resolve has the most difficulty rendering Mocha Remove with reliable performance.
  4. We’ve done no extensive testing on external GPUs, but if you can set it specifically to the Vega 64 in GPU preferences and still track, that’s a good sign that it is working. It’s good practice to explicitly set the GPU you want to use rather than leaving it as Automatic.

We do have to emphasise that we don’t think Resolve is handling Mocha OFX well, so we still don’t officially support it yet.

Regardless, I’d suggest sending us your crash report from Resolve as this will help us determine where the problem is. You can either DM it to me, or send it to support [at] borisfx.com

Thank you @martinb and @maryp. I’ve actually been able to successfully get past the earlier issues. For one thing I did was you suggested Martin which is pre-render and replace. Now the whole thing is stabilizing and tracking nicely. I also swapped in a new 5700 XT in the eGPU which appears to be working fine. Will try and throw 2 eGPUs @ the problem in a few days and see how that goes.

I have moved on with the project to another point where I’m at a dead standstill now and I could use some good advice.

I am trying to remove light glare from the subject’s eyeglasses. I found another clip and transformed and masked a part of his eye over onto the first clip. I then opened mocha Pro up selected the eyeglass and clicked “create clean plate”. I got a .exr file. So far so good.

I then opened up another mocha node and tracked both the glare and the eyeglass as background. But when I select the clean plate in the remove tab and render, I get a black hole where the glare was. For some reason it refuses to use the clean plate. This is my first time using this feature. I’ve watched all the tutorials but I don’t see what I’m missing. Am I leaving something obvious out? Also it won’t let me check the box “Use clean plates exclusively” it checks and uncheclks itself right away.

I can elect “import” in the clean plate clip dropdown and choose my .exr file. Still won’t let me check “use clean plates exclusively”. Also says “frame 0 not rendered in clip “remove input”” I’m not sure what the “remove input” is or why it’s not rendered. I thought the remove input was my tracked bit of glare, is it not? When I do run it it says "frame 0 not rendered in remove input and I get my black hole where the glare was.

Hope this all makes sense to you guys.

Best,
Mark

Wow… Ok so the key appears to have been switch the output format of the clean plate from .exr to tiff. That took some figuring out. Why did TIFF work while EXR didn’t? Should I care about .exr? It seemed to be the default setting.

Very impressive btw when it suddenly works. :slight_smile:

Best,
Mark

Hi Mark,

I am not sure why EXR didn’t work, maybe they’re not supported on your machine in Mocha’s bit depth, but TIFFs generally always work. I am glad that got sorted out for you.

Cheers,
Mary

Hmm that definitely sounds like a bug with the EXR reading.
What bit depth is your project?

It’s braw, so 12-bit. But I’m not able to open EXRs on my system anyway so it might just be that my system doesn’t handle them the way Mocha Pro expects.