Jump to: Board index » General » Fusion

Fusion speed slowdown issues

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

goohoobler1

  • Posts: 26
  • Joined: Wed Jul 27, 2022 9:34 pm
  • Real Name: George Port

Fusion speed slowdown issues

PostFri Oct 20, 2023 2:48 am

So, for a while now I have been obsessing over the Fusion/Resolve/Nvidia speed slowdown issues.
Since the release of 18.5, the Nvidia Studio and Game driver Release notes have warned of a slowdown, which seems to be currently unresolved (even in the latest releases of the drivers which don't have the slowdown warning - they did not note it had been fixed either).

So here is a test (that I have put up before), but now I have videos of what is happening on my machines, which is a significant slowdown after a certain amount of VRAM has been assigned. In the case of the older Intel machine with a Nvidia 1070 card the results are quite catastrophic in standalone fusion, going from a speed of about 8 frames per second to 8 seconds per frame...

Ironically, in Resolve fusion , the effect is not so bad as there seems to be better VRAM memory management, however it is still a roughly halving of speed (from 12 to 7 fps) when the VRAM plateaus as can be seen from the videos. The videos also show the results from standalone Fusion and Resolve Fusion on a modern AMD system with a Nvidia 3090 card. A similar thing can be seen here, without the disastrous slowdown in fusion standalone. But what can be seen is that the speed is much higher when the VRAM is not fully assigned. Even with 24 gigs of VRAM in the 3090, Fusion Studio still only assigns a little over 8 GB of VRAM for comping. And in Resolve Fusion, more RAM is assigned (15GB or so ) but it still plateaus well below the maximum available. Also of note is that Fusion Studio seems to be running slightly slower on the same tasks on the same machines, despite the higher overhead of Resolve's other active parts.

So a bunch of questions are in my mind.
Is this only a Windows / Nvidia issue (if anyone else wants to try the code and see what their results are on other systems, please be my guest )? If it is possible to fix it, will that negatively impact other video cards or operating systems?

Is it caused by the Nvidia driver, or is it something in the way fusion and/or resolve interact with the Nvidia driver or is it something that is entirely controlled by the Blackmagic software team?

Is there some more aggressive garbage collection system (or some similar software shenanigans) that will allow the VRAM not to fill up, since that seems to be the fastest processing mode?
On the computer with the 1080, the system seems to assign slightly too much VRAM, causing the slight overflow to the "Shared GPU" system RAM, which then seems to exacerbate slowness in all interactions with Fusion standalone.
The test is using a Displace node that seems to be most affected by it the GPU speed, it is also one of the nodes we use quite a lot in our comp work. Other GPU centric nodes seem to behave the same way, whereas others ( I'm looking at you grid warp ) are very CPU centric so will slow everything down equally badly.

And most annoying of all - once the VRAM plateaus, it affects the responsiveness of manually painting strokes, which the roto department does not enjoy at all.


Here are the test nodes to try on your own machine:
Code: Select all
{
   Tools = ordered() {
      Ellipse1 = EllipseMask {
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            SoftEdge = Input { Value = 0.0173, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Height = Input { Value = 0.377146140340098, },
            Angle = Input { Value = 0.617185760348434, },
         },
         ViewInfo = OperatorInfo { Pos = { 526, -15.3333 } },
      },
      Background1_1 = Background {
         Inputs = {
            EffectMask = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            },
            GlobalIn = Input { Value = 887, },
            GlobalOut = Input { Value = 3750, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Type = Input { Value = FuID { "Gradient" }, },
            Start = Input { Value = { 0.989690721649485, 0.5 }, },
            Repeat = Input { Value = FuID { "Ping-Pong" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 522, 33.4245 } },
      },
      Displace1 = Displace {
         Inputs = {
            Offset = Input { Value = 0.294, },
            RefractionStrength = Input { Value = 0.57, },
            LightPower = Input { Value = 0.543, },
            LightAngle = Input { Value = 208, },
            Spread = Input { Value = 0.402, },
            Input = Input {
               SourceOp = "Background1_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "FastNoise1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 758.666, 50.7278 } },
      },
      FastNoise1 = FastNoise {
         Inputs = {
            GlobalIn = Input { Value = 887, },
            GlobalOut = Input { Value = 3750, },
            Width = Input { Value = 4096, },
            Height = Input { Value = 2160, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Detail = Input { Value = 10, },
            XScale = Input { Value = 16.54, },
            SeetheRate = Input { Value = 0.701, },
         },
         ViewInfo = OperatorInfo { Pos = { 636, 71.334 } },
      },
      ColorCorrector1 = ColorCorrector {
         CtrlWZoom = false,
         Inputs = {
            WheelTintAngle1 = Input { Value = 0.00338576454203138, },
            WheelTintLength1 = Input { Value = 0.5151, },
            ColorRanges = Input {
               Value = ColorCurves {
                  Curves = {
                     {
                        Points = {
                           { 0, 1 },
                           { 0.4, 0.2 },
                           { 0.6, 0 },
                           { 1, 0 }
                        }
                     },
                     {
                        Points = {
                           { 0, 0 },
                           { 0.4, 0 },
                           { 0.6, 0.2 },
                           { 1, 1 }
                        }
                     }
                  }
               },
            },
            HistogramIgnoreTransparent = Input { Value = 1, },
            Input = Input {
               SourceOp = "Displace1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 894, 46.1515 } },
      }
   },
   ActiveTool = "ColorCorrector1"
}


Empty your Cache , Put ColorCorrector output on viewer 2, Then play until VRAM fills up or things slow down... or not...

Here are my results:

Fusion Studio Nvidia 1080:


Resolve Studio Nvidia 1080:


Fusion Studio Nvidia 3090:


Resolve Studio Nvidia 3090:



.
Windows 11 Pro (22H2)
Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz
64.0 GB RAM
Nvidia 1070 (8GB VRAM)
AMD Ryzen 3970X @ 3.69 GHz
128 GB RAM
Nvidia 3090 (24GB VRAM)
Resolve Studio / Fusion Studio 18.6
Offline

bentheanimator

  • Posts: 414
  • Joined: Mon May 13, 2019 10:38 pm
  • Location: Minneapolis, MN
  • Real Name: Ben Hall

Re: Fusion speed slowdown issues

PostSat Oct 21, 2023 3:38 am

I had this happen this afternoon with Optical Flow. Also have a 3090. It eats 15gb of VRAM then drops and never recovers.

It seems that Fusion and Resolve need a fundamental rewrite of VRAM usage. Right now it eats it up and keeps everything in the VRAM cache. I think this is a mistake. It should cache enough to overcome the IO speed of the designated cache drive. Then it should dump the frames to disk. At that point, the CPU should multi thread and play back that cache. It would allow more compartmentalized use of VRAM and allow for interplay between multiple programs requiring GPU Acceleration. Chunking 3 to 6 Gb at a time would allow more stability and better play back.
Resolve & Fusion Studio 18.6.4
Windows 10
Intel Xeon CPU 2699A @ 2.40GHz | 128GB RAM | 2xRTX3090 | 512NVME System | 8TB NMVE Scratch | 80TB 8Gbps Fiber

MacOS 12.7.2
MacBook Pro 13,3 | 16GB | Radeon 460 4GB | 256GB System | 256GB Scratch
Offline

KrunoSmithy

  • Posts: 35
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Real Name: Kruno Stifter

Re: Fusion speed slowdown issues

PostSat Oct 21, 2023 2:48 pm

I try to load up your fusion comp and run the test and I get similar results as you, on nVidia GeForce GTX 1060 6GB of VRAM. Once it runs out of VRAM its a problem.

However, I'm using Fusion in the Resolve Fusion page, not standalone, but once I deactivated Auto Proxy, Proxy and Motion Blur and High Quality, preview settings for the viewer, than it behaves differently. It seems to cash a part of the video, enough to preview motion and than it resets itself to clear out cache, makes a slight pause and continues with preview with cleared cache. So its is a good way to manage too much VRAM usage it seems.
Offline
User avatar

goohoobler1

  • Posts: 26
  • Joined: Wed Jul 27, 2022 9:34 pm
  • Real Name: George Port

Re: Fusion speed slowdown issues

PostWed Nov 01, 2023 7:41 pm

Hi
Just an update for the three of you who actually watched any of the videos (or any other interested parties).
Nvidia has just released Nvidia Studio Driver: 546.01 WHQL (as well as the Game version)
The driver claims to provide a fix for Stable Diffusion, that involves a bit of a workaround;
https://nvidia.custhelp.com/app/answers/detail/a_id/5490

This fix/workaround can also apply to Fusion Studio, which will speed up the VRAM full state for lower VRAM cards (6/8GB) to be equivalent to the behavior of Davinci Resolve Fusion (see above in the original post for more details).
This fix still doesn't seem to allow the processing/playback to go at max speed when VRAM is full, but , in the case of out 1070 (8GB) card , means it doesn't slow down to 8 seconds per frame - it goes to from 8fps to around 3 or 4fps. Still not great, and , as noted in the workaround notes, there is a heightened risk of some sort of crash...

Setting set specifically for Blackmagic Fusion - "CUDA System Fallback Policy" to "Prefer No Sysmem Fallback"
Screenshot 2023-11-01 141147.png
Screenshot 2023-11-01 141147.png (55.09 KiB) Viewed 5059 times


Windows 11 Pro (22H2)
Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz
64.0 GB RAM
Nvidia 1070 (8GB VRAM)
AMD Ryzen 3970X @ 3.69 GHz
128 GB RAM
Nvidia 3090 (24GB VRAM)
Resolve Studio / Fusion Studio 18.6
Offline

KrunoSmithy

  • Posts: 35
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Real Name: Kruno Stifter

Re: Fusion speed slowdown issues

PostWed Nov 01, 2023 7:47 pm

Thanks for the update. I'll download the latest drivers and give it a try.
Offline
User avatar

Chad Capeland

  • Posts: 3010
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: Fusion speed slowdown issues

PostWed Nov 01, 2023 11:36 pm

bentheanimator wrote:It should cache enough to overcome the IO speed of the designated cache drive. Then it should dump the frames to disk.


IO speed? The RAM on most computers isn't fast enough to feed the CPU and GPU, and not even the fastest SSD is going to beat that. That's why Fusion caches to the GPU memory instead of reading directly from system RAM. There's something broken in Resolve and Fusion caching, but dumping to disk isn't the fix.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

bentheanimator

  • Posts: 414
  • Joined: Mon May 13, 2019 10:38 pm
  • Location: Minneapolis, MN
  • Real Name: Ben Hall

Re: Fusion speed slowdown issues

PostThu Nov 02, 2023 4:07 am

I don't know, After Effects seems to do it just fine. Maybe the trick is stacking caches for each node? That way it's not computing the entire flow if an up stream node already has a cache? Ddr4 is 17GBps. I think it can shove around frames fast enough. Especially if it's pooling them to be dumped once the play head stops moving. As far as I understand it, it's not trying to play back from GPU, it's trying to compute the result in real-time or maybe it's both? If it was just computing the results and dumping to RAM it could probably work better. How well is it going to work when it caches 45 frames to GPU but then comes to Frame 46 where all the VRAM is needed because of some crazy frame manipulation? It's going to have to dump all the frame caches and start on the frame 46 computation. If it was dumping to disk for playback already, it wouldn't have as hard a time and it wouldn't lose the 45 previous frames to the ether.
I'm pretty sure After Effects computes to RAM, then dumps to disk. Then recalls the frame from disk if the RAM was used somewhere else. It does this for each layer visible so frames are never double rendered. It also holds the lower layer's caches if no changes where made. So no upstream computations are doubled. It makes for massive cache folders but fast playback. We do it by hand setting Saver Loaders mid stream and it does speed up renders.
Maybe Fusion could give priority caches to merges and booleans since that's where the majority of stability is found on a flow.
Resolve & Fusion Studio 18.6.4
Windows 10
Intel Xeon CPU 2699A @ 2.40GHz | 128GB RAM | 2xRTX3090 | 512NVME System | 8TB NMVE Scratch | 80TB 8Gbps Fiber

MacOS 12.7.2
MacBook Pro 13,3 | 16GB | Radeon 460 4GB | 256GB System | 256GB Scratch
Offline
User avatar

Chad Capeland

  • Posts: 3010
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: Fusion speed slowdown issues

PostThu Nov 02, 2023 4:53 pm

bentheanimator wrote:I don't know, After Effects seems to do it just fine.


After Effects doesn't do branching. The operation order is known before the request is made. In Fusion, the operation order is nondeterministic because of branching (and rendering multiple branches, frames, and comps simultaneously).

bentheanimator wrote:Maybe the trick is stacking caches for each node?


Each output is cached, at least for images. There's an option to use write back caching (I think it might be the default now, actually), so you don't have to copy from the VRAM to the system RAM for each output, and there's an option to disable caching if the output can render below a certain time threshold, but that's it.

bentheanimator wrote:Ddr4 is 17GBps. I think it can shove around frames fast enough.


You'd be surprised, especially since nonlocal operations will need to read the memory hundreds or thousands of times per frame. It gets very messy very quickly and the supported hardware options are getting larger, so it's harder to optimize. And remember, that's per CPU core. Keeping 32 or 128 cores fed when there might be multiple tools rendering at one time makes local cache hits less likely.

bentheanimator wrote:As far as I understand it, it's not trying to play back from GPU, it's trying to compute the result in real-time or maybe it's both?


It's both. No need to read from system RAM if it's already in VRAM as an image/texture for display.

bentheanimator wrote:How well is it going to work when it caches 45 frames to GPU but then comes to Frame 46 where all the VRAM is needed because of some crazy frame manipulation?


Horribly, if past experience is a predictor. :D There's... 139 topics on the Resolve forum from 2012 to 2023 for the "out of GPU memory" error.

bentheanimator wrote:If it was dumping to disk for playback already


IIRC, neither Nvidia nor AMD allow their consumer GPUs to read/write to disk from VRAM. That's a driver/API feature that is reserved for professional cards. BMD doesn't want to have to deal with that (much like BMD has shown no interest in pooling memory across GPUs). So you'd have to copy to system RAM, then copy to disk, and that takes time. Especially when you are doing write through cache. I did a quick test comp here and caching each tool to a >20GB/s SSD added more than 50% to the render time. And that was just writing, not reading. Could it be made faster through hardware specific optimizations? Sure, but it could also be a LOT slower, especially for customers who don't have fast (and multi-TB) storage available. BMD could certainly make an option for this, but the user could also just page their RAM to disk. No one does that anymore, though, because it's slow.

bentheanimator wrote:Maybe Fusion could give priority caches to merges and booleans since that's where the majority of stability is found on a flow.


You can do that per tool yourself. Just save this as "ChannelBoolean_Channel Booleans.setting" to your Defaults folder.
Code: Select all
{
   Tools = ordered() {
      ChannelBooleans1_1 = ChannelBoolean {
         ForceCacheToRAM = true,
      }
   },
}
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

bentheanimator

  • Posts: 414
  • Joined: Mon May 13, 2019 10:38 pm
  • Location: Minneapolis, MN
  • Real Name: Ben Hall

Re: Fusion speed slowdown issues

PostThu Nov 02, 2023 6:59 pm

Thanks for that in depth response. Super insightful.
I think Fusion still holds to an order of operations. If you trace the tools back from any Saver or last tool down the main line you can find the OoOps for each Bool or Merge coming in. Even if four different branches use the same mask, they are still part of a definitive line. Would it be possible to cache branches used on various locations based on requested use? Probably.

Ae has the same issue to deal with now that you can select mattes from any layer to another. It requires rendering of disparate layers to be rendered for various requests. If Fusion was to do the same and hold caches for deeper branches used in various positions, it could speed up branches down the line. I would think it would be like setting that flag you posted on various tools based on what has been requested and when it was last touched. If it gets modified then it has first priority of re-caching. I think what Ae does in the background, is duplicate the layers needed and puts them in the right place invisibly. I saw it reverse a bunch of masks when I exported a 2023 back to 2022. It made duplicates of all the layers that were linked.

Caching each tool was a bad idea. I meant more about caching branches more than every single tool. The read/write going on for frame playback seems like it could be different as well. It feels like every time something is rendered it is loading all the info for that frame with it. So an EXR is loading a full EXR into the frame buffer instead of just an 8 bit representation of it for viewer playback. In that respect it seems like a lot of memory is being eaten by extra data not needed by playback. Is that correct or does it reprocess the frame for viewing only?
Resolve & Fusion Studio 18.6.4
Windows 10
Intel Xeon CPU 2699A @ 2.40GHz | 128GB RAM | 2xRTX3090 | 512NVME System | 8TB NMVE Scratch | 80TB 8Gbps Fiber

MacOS 12.7.2
MacBook Pro 13,3 | 16GB | Radeon 460 4GB | 256GB System | 256GB Scratch
Offline
User avatar

Chad Capeland

  • Posts: 3010
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: Fusion speed slowdown issues

PostThu Nov 02, 2023 9:07 pm

bentheanimator wrote:I think Fusion still holds to an order of operations.


No, it doesn't, and that's one of the reasons you can get messed up masks if you feed them to two tools, one as a mask input and one as an image input. Fusion doesn't have a list of which tool needs to render first, so depending on how the scheduler fits it in, you could get an different mask image in cache.

bentheanimator wrote:Would it be possible to cache branches used on various locations based on requested use? Probably.


Fusion doesn't maintain multiple caches per output (per time interval), other than the proxy HiQ. There's been users asking for a change to that, using a hash of the input parameters. So if you have, say, a BG that is set to a solid color, and you change it to a gradient, then change it back to the solid color, it would have the same hash on the inputs so the cache with the matching hash could be reused. Would allow artists to make brief experiments (especially with client attended sessions) without blowing up their entire cache.

bentheanimator wrote:If Fusion was to do the same and hold caches for deeper branches used in various positions, it could speed up branches down the line.


I think that's one of the heuristics used to set cache value. I don't think BMD or Eyeon has ever published what goes into that, only the result, so you could probably reverse engineer it, but since they have never publicly given users the ability to tweak the formula (other than blasting it per tool), it's not very useful to know. It would be cool if they gave users finer control, but few users are really THAT into optimization.

bentheanimator wrote:So an EXR is loading a full EXR into the frame buffer instead of just an 8 bit representation of it for viewer playback. In that respect it seems like a lot of memory is being eaten by extra data not needed by playback. Is that correct or does it reprocess the frame for viewing only?


Update flipbook previews do exactly that. They're broken in the current build, but if they worked, that's what they'd do. You create the preview of the selected tool in whatever viewer you want (or directly to disk) and set it to update, then whatever changes you make are updated in the cache, but it's only 8 bit, and it's super optimized for playback. So you could fit a ton more frames in, they would never get tossed from cache, and you could even preserve them between sessions by saving them to disk as .fb files. Not sure how long they've been broken, but hey, now we know.
Last edited by Chad Capeland on Mon Nov 06, 2023 8:45 pm, edited 1 time in total.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

bentheanimator

  • Posts: 414
  • Joined: Mon May 13, 2019 10:38 pm
  • Location: Minneapolis, MN
  • Real Name: Ben Hall

Re: Fusion speed slowdown issues

PostMon Nov 06, 2023 7:07 pm

It would be interesting if they could get a branch trace to work. Something like trace each image line that needed to be processed. If a mask is used in two branches, then the one closer to the beginning gets generated first. Then the second use gets created and generated. I suppose it would have to do some behind the scenes generation of hidden tools to make it not bork itself. It seems like that is how Loader tools work. Having said that, I always duplicate my Loaders when using Cryptomattes. Trying to simultaneously, read the same Loader to separate Cryptos always blanks out random frames.

It's been a while since Fu9 was the current version but it seems like there was a lot in the version that Blackmagic didn't understand. I get the feeling that they didn't know what they were looking at and used the barest surface of the program to make a text generator. I wonder if the current developers are experienced in using Fusion? It seems like the old guard could have created an Nuke competitor easily if just asked what to do. Crazy. Thanks for the education.
Resolve & Fusion Studio 18.6.4
Windows 10
Intel Xeon CPU 2699A @ 2.40GHz | 128GB RAM | 2xRTX3090 | 512NVME System | 8TB NMVE Scratch | 80TB 8Gbps Fiber

MacOS 12.7.2
MacBook Pro 13,3 | 16GB | Radeon 460 4GB | 256GB System | 256GB Scratch
Offline

KrunoSmithy

  • Posts: 35
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Real Name: Kruno Stifter

Re: Fusion speed slowdown issues

PostMon Nov 06, 2023 7:23 pm

[quote="bentheanimator"It's been a while since Fu9 was the current version but it seems like there was a lot in the version that Blackmagic didn't understand. I get the feeling that they didn't know what they were looking at and used the barest surface of the program to make a text generator. I wonder if the current developers are experienced in using Fusion? It seems like the old guard could have created an Nuke competitor easily if just asked what to do. Crazy. Thanks for the education.[/quote]

I am not sure that was the case. Seems to me that Nuke won the battle of becoming industry standard based on contracts, similar to Avid, effectively Fusion loosing that battle. Leaving black magic to add it to the Resolve. And Fusion studio was for now left for those who still use it. But I think the future of Fusion for Blackmagic is deeper integration with Davinci Resolve.

In terms of functionality, other than interface changes, which I agree were more user friendly to power users in Fusion 9 and earlier, what are they missing. They have added quite a few features since than. Accelerated many tools by levering GPU and ported many of the OpenOFX tools from Resolve. They added USD and Shape support etc. To me it seems Fusion has found a new audience. Those escaping Adobe ecosystem looking to replace After effects and escaping subscription models. Fusion does motion graphics as well as After Effects, while Nuke is not strong in that area, and for VFX fusion still works for many Indy studios and content creators, where Nuke is not even an option because of its prime tag.
Offline

bentheanimator

  • Posts: 414
  • Joined: Mon May 13, 2019 10:38 pm
  • Location: Minneapolis, MN
  • Real Name: Ben Hall

Re: Fusion speed slowdown issues

PostMon Nov 06, 2023 8:40 pm

They have added some things that are sweet like the AI masking and Depth maps but a lot of the rest are bells and whistles while leaving a lot of the serious stuff to wither. It's interesting you bring up the shape nodes. I don't think they actually use those nodes. Know why? All the replications happen AFTER stroke generation. That means that replicating a shape and increasing the size will create thicker lines instead of larger curves. So no offset designs. Since they didn't separate the curve from the shapes, there's no way to replicate the form only the outcome. Stroke, color and render types should all be on sRender or on sChange Style to treat it like an Override tool just like 3D. After Effects shape layers, Calvary and many others figured this out.

Short List
General Random Frame Generation Errors
GPU overload instead of dumping to disk.
Keyframe Markers don't lock so you have to move them to select the keyframe on a layer thus negating use of markers.
Caching.
Caching Node.
Keyboard shortcuts.
PBR 3d integration.
Selection sets.
Wireless node that holds input.
Loader shuffling.
Undo's blowing caches.
Audio.
Midflow Vertical Image Window Stack.
Shader Custom Tool.
Multiprocessor awareness is not great.
Render node.
Sticky Colors.
Sticky and Underlay snapping so they create with the right area around them and don't break the grid line up
Camera Blur that actually doesn't look like it's from 2001.
USD is so early and un-useful that it might as well not be there. Also, why not just make a USD loader for the normal 3D. At this point it's either port ALL the 3D tools to USD or add USD to the existing 3D. Let's not even talk about Hydra.

All of this applies to Resolve as well.

I've mostly left out the UI stuff like custom Window sizes and custom positions because it's obvious that they have no interest in making something like Fu9 again but I feel the rest are warranted at the current state of the software.

Fusion is a cool program but the older it gets, the more things like this wear at the experienced users. Ok, on me. I'm not trying to bitch. Just want a stronger application that I can recommend to others without having to explain why something is missing that everyone else already has and is standard.
They are falling into the same trap Autodesk made with Maya. Letting the user community fill in the quality of life improvements with add-ons and scripts. The problem is, when somebody is new or busy, they don't want or should need to go loading third party scripts to fill obvious gaps in usability.
Resolve & Fusion Studio 18.6.4
Windows 10
Intel Xeon CPU 2699A @ 2.40GHz | 128GB RAM | 2xRTX3090 | 512NVME System | 8TB NMVE Scratch | 80TB 8Gbps Fiber

MacOS 12.7.2
MacBook Pro 13,3 | 16GB | Radeon 460 4GB | 256GB System | 256GB Scratch
Offline

KrunoSmithy

  • Posts: 35
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Real Name: Kruno Stifter

Re: Fusion speed slowdown issues

PostMon Nov 06, 2023 9:36 pm

bentheanimator wrote: It's interesting you bring up the shape nodes. I don't think they actually use those nodes."


Who is they, exactly? I use shape nodes all the time and so are many others for motion graphics. Works fine. Fast to render and you can do tones of stuff with it for motion graphics, which is the point of it. I don't know what you mean exactly, but maybe its just not for you. I don't see many users complying, because they are busy making cool motion graphics with it.

"Fusion is a cool program but the older it gets, the more things like this wear at the experienced users. Ok, on me. I'm not trying to bitch. Just want a stronger application that I can recommend to others without having to explain why something is missing that everyone else already has and is standard."

Well, I don't know. To me it sounds like you are complaining a lot. Fusion is no more perfect than so many other apps. Choose any app. And we can go down the list of problems if that is the game we are playing. After Effects? Photoshop. Nuke. Maya, Zbrush, Blender, 3D studio max etc. They all have their strengths and weakness and some of it is just a byproduct of its life cycle and people using it and working on it. Some apps have solved issues first they best they could, and others copy the solution and improve it, but struggle with something new. Its the way the industry works.

Fusion is such a deep program that most users have not even scratch the surface and there is a lot of things in it that were well though out or lot of effort went into finding specific solutions to specific problems most users never had. Its a program in development still and its being improved. Fusion 16 and 18.6.2 can clearly show that program is being worked on and getting better. Despite even old one being pretty darn good.

Also having it as part Resolve as well, opens up a lot of features as part of the integrated set that standalone fusion may not have access to. Also fusion can be optimized in many ways, from way users uses it to the way all the various tweaks and preferences work in it. Perfect it is not, but you can't beat the value for the price. There is nothing on the market that has this much features and mature development at that price. And it used to cost thousands of dollars. Just saying.

P.S.

Your "Short List" works both ways. I can make a list of amazing things that it does and does well, just like you can make the list. My point is that weather you wanted to or not, you come across as someone who is complaining not by objectively looking at the Fusion as whole, but by being frustrated for specific things that may or may not be universally important to users or they are very important to you, personally. I can make a similar list for Fusion or any other app. But I don't share your sense of frustration for Fusion as some kind of broken down outdated software as the impression you give. Its a super powerful software that is amazing for the value and while there are many things that could be changed, how about we meet the developers half way and change as users a bit as well.

"The problem is, when somebody is new or busy, they don't want or should need to go loading third party scripts to fill obvious gaps in usability."

Fine, I agree. But what app in this category is out of the box ready to work. Blender has an addon for everything, but most are not free or need update and are all over the place. After Effects is pretty limited unless you installed paid number of plug ins and addons. Same is with Photoshop, plus they are subscription based. Nuke is super expensive, but still has the similar situation as Fusion. It has its version of Reactor. At least with Fusion and Reactor you don't have to pay for much of it, but you can donate off course. And if someone is new, realistically they don't know much of the functionality of Fusion anyway., so its not a valid point. The solutions could be build in and they probably don't know about it. I know seasoned users of Fusion who don't know many cool features that are less obvious, unless you know where they are. Same is for Photoshop. Or any other app in that category.

Maya is same. How many custom scripts and tools have been made to solve very specific production problems of specific studios? Its just the way it works. No one could have foreseen all those needs out of the box, since they are low percentage unique set of problems. But Fusion much like Maya and some others can be expanded with scripts and macros and third party plug ins so there is something for everyone. And besides one does not expect one application to do it all and or equally well in all departments. Sometimes you need the best tool for a specific job.
Offline

bentheanimator

  • Posts: 414
  • Joined: Mon May 13, 2019 10:38 pm
  • Location: Minneapolis, MN
  • Real Name: Ben Hall

Re: Fusion speed slowdown issues

PostMon Nov 06, 2023 11:23 pm

I agree that Fusion is a great program. Full stop.

And it's not about complaining so much as not patting yourself on the back that it doesn't break when you use it. You're right, Fusion is a deep program that most users they have picked up recently haven't scratched the surface of it. The problem is that those of us that HAVE gotten past the new car smell see things and realize that they should have been fixed long ago.

All programs have issues and that's true. Fusion is the only one that I know of that doesn't have Keyboard shortcuts for commonly used features. Case in point... Set a keyframe for position, rotation, scale, or transparency. You have to do the long walk to the very right of your screen. Got tired of that and had to make a script that allows for setting keyframes for those properties. You're going to sit there and say that there are other programs that don't have that feature?

If Fusion was say 3-5 years old, then I could see why they may have had blind spots but this program is what, 20 years old? I think keyboard shortcuts have been established for a while.

I'm glad you're making cool motion graphics with Fusion. That's great. Motion graphics is an industry all it's own. When a feature is created like generating vector lines on screen, was it created in a vacuum? Did the feature not exist yet? No, it was a standard and primary tool of the industry standard in motion graphics. After Effects didn't have to sit on the Shape Layer for five years before someone realized it should have an offset curve feature. Hell, let's get crazy and mention that there's no way of making a dotted line.

I've used Maya for 18 years, I have a ton of scripts and tools that help in specific things. I also have tools for covering stupid things like removing "pasted_" from the front of any node that you paste from one doc to the next. Maya is not what I would consider a good program. People have bent it to be a good program despite what it is and the army of TDs would back that up.

That Short List I created was made mostly by listing things that I've had to do more than twenty times which means that if the I have come across it in random projects doing motion graphics and cg compositing and basic VFX, then I KNOW that the team has seen them and breezed over them. OR they haven't needed basic features because they aren't using the program or running through real workflows that the software is supposed to support in the industries they are advertising the product for. I mean real
workflows, not running the Delta Keyer over some boxes on green and calling it a day. Ever heard of a light wrap? Man, that's a niche of a tool.

Kludging through a work day traveling your screen over and over and over again get's old. ESPECIALLY when you flip to another program and realize just how slow the day to day is in Fusion. Fusion is great because is can do a few things that no other program besides Nuke can do but you better believe that After Effects and Blender and maybe even SideFX aren't hanging out. One of the biggest features of Node based compositing is the ability to branch objects to multiple locations. Ae just made that one step closer in 2023 with selectable Mask layers.

It used to be ACES.
It used to be a decent built in 3D space.
It used to be having to PreComp everything.
Used to.

At some point soon, efficiency is going to be the difference and right now, we have to write scripts to make keyboard shortcuts.

This wasn't meant to be some manifesto. This is just a listing of things that could be better. Some things have been made that are great. Some things haven't. More needs to be done or they need to take
"The world’s most advanced visual effects, 3D, VR and motion graphics solution!"
off of that website.
It comes off as ignorant and and a little "Used Car Salesman".
Resolve & Fusion Studio 18.6.4
Windows 10
Intel Xeon CPU 2699A @ 2.40GHz | 128GB RAM | 2xRTX3090 | 512NVME System | 8TB NMVE Scratch | 80TB 8Gbps Fiber

MacOS 12.7.2
MacBook Pro 13,3 | 16GB | Radeon 460 4GB | 256GB System | 256GB Scratch
Offline

KrunoSmithy

  • Posts: 35
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Real Name: Kruno Stifter

Re: Fusion speed slowdown issues

PostMon Nov 06, 2023 11:40 pm

You make some fair points, and for someone who has worked a daily grind in these applications, no doubt you have ended up with attempts to be more efficient at specific things you need. That's part of the job and that is fine. I don't think Fusion limits users in any deliberate way in this type of needs, since its quite customizable with macros, scripting, expressions etc. I would prefer for a program to keep that door open than to try to satisfy everyone and be propitiatory closed box.

Adobe has done that with Photoshop for many things, which is why if you use Photoshop for professional retouching for example, most of the work is done by third party plug ins now a day and I've given up waiting on Adobe to satisfy that niche set of users of Photoshop. It didn't stop me from getting the job done, though. On the other hand, if I was a web designer or graphic designer or digital painter and used Photoshop, I would be probably looking for completely different set of tools. And that is one thing worth keeping in mind that these applications are used in very particular ways by a very wide ranging group or users with very particular needs. Its virtually impossible to keep everyone happy. As long as we have good communities, third party plug ins, and scripting abilities for these apps, we will collectively find ways to solve most problems if the apps has been around long enough.

While some things you mentioned and in general among apps are legit criticism, I feel personally that Black magic is one of the good companies out there. Hell, Autodesk is practically full subscription and so is Adobe among many others. Black magic is still, value for the money, an incredible deal. Never mind big studios but users across the board, who are small studios, independent solo creators etc. Its a god sent. Few hiccups and missing shortcuts are trivial for me in that context. There are planty of ways to find workarounds. That community of Fusion users at "we suck less" is amazing group of people with very generous ways to extend on some of the neglected features of Fusion or simply too nitch for Eyeon or Blackmagic to cover.

Here is one that I used.

I come from Photoshop and checkerboard for transparency is very bright in Photoshop and its easy to see loose hair details or something like that. In Fusion its dark, too dark. It was driving me nuts. I went to We suck Less forums and asked can it be changed. Got a reply that works. Just a modification of some settings file in the installation folder of Fusion. And now I use it all the time.

In your program directory, find the file Skins/Fusion.fuskin.
Make a copy of the file and change its extension to .zip.
Extract the files.
Make whatever changes you'd like to see.
Zip the folder back up.
Make a backup of the original Fusion.fuskin, and then rename your zip back to that filename.
Launch Fusion to see if the change was what you wanted.

The skin is controlled from the file Fusion.skin, which is a plaintext file containing Lua tables that describe Fusion's appearance. It looks like there are two places that might affect the checkerboard, but I'm not sure which one takes priority. Line 2300 points to a png file Views/PT_Chequers.png. I think that one was the old button that turned it on and off. The other is line 2325, which has some color triplets. Those are likely what you'd need to change to alter the checkerboard's brightness. Looks like you can also change the size of the squares there, if you're so inclined.

https://www.steakunderwater.com/wesuckl ... 186#p45186

https://www.steakunderwater.com/wesuckl ... 186#p45186


Chequer = {
Color = { { 52, 52, 52 }, { 80, 80, 80 }, },
Data = {
Size = { 30, 30 },
},

I changed it to:

Chequer = {
Color = { { 128, 128, 128 }, { 255, 255, 255 }, },
Data = {
Size = { 30, 30 },
},

And it actually works. I'm a happy camper. :)

Image

Image
Offline
User avatar

goohoobler1

  • Posts: 26
  • Joined: Wed Jul 27, 2022 9:34 pm
  • Real Name: George Port

Re: Fusion speed slowdown issues

PostTue Dec 05, 2023 11:31 pm

Just an update to the original post.
Fusion Studio 18.6.4 Update has noted this fix:
"Addressed issue with auto-detection of GPU memory."
This has fixed the original massive delay problem for 8GB or less cards - (8fps to 8secs per frame) with the test scene (quoted in the first post) and has returned to a similar result to Resolve/Fusion (from 11 fps to 5 fps) without needing the manual Nvidia fix mentioned in an earlier post.
Also of note , on a 24GB 3090 , Fusion now uses up to 18GB of VRAM before slowing performance (20fps-8fps).
Thank you Blackmagic Fusion developers, keep up the good work.
Windows 11 Pro (22H2)
Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz
64.0 GB RAM
Nvidia 1070 (8GB VRAM)
AMD Ryzen 3970X @ 3.69 GHz
128 GB RAM
Nvidia 3090 (24GB VRAM)
Resolve Studio / Fusion Studio 18.6
Offline

KrunoSmithy

  • Posts: 35
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Real Name: Kruno Stifter

Re: Fusion speed slowdown issues

PostTue Dec 05, 2023 11:35 pm

Good to know. Thanks for the update and thank you to developers.

Return to Fusion

Who is online

Users browsing this forum: No registered users and 6 guests