- Posts: 32
- Joined: Mon Sep 25, 2017 7:46 pm
Yeah, Fusions performance is interesting. I played around a lot with the settings to find what works best. Simultaneous branching on/off. The amount of RAM available. The amount of frames at the same time. Using the GPU or not.
Nothing made huge impacts.
Most tools seem to be multi-threaded. They run on the GPU after all, but are too quick to process to really spike the performance in the task manager. If you set the update interval higher you might see more spikes.
Take everything I say with a grain of salt. I'm not a dev, I'm just speculating based on my experience of using Fusion the last few years and playing around with the settings.
If you use a tool like the vector motion blur and really increase the amount, you will see that Fusion can in theory max out both your GPU and CPU (depending on which is being used).
The thing I find weird is that even rendering several frames at the same time does not seem to improve utilization. And I think this is the main area the devs should look at.
Using the command line mode of the render node through Deadline, I am able to start several render tasks at the same time and this doesn't seem to be an issue, as long as you don't have too many GPU intensive tools like the previously mentioned Vector Motion blur. But that needs to be set to CPU anyway because it will produce artifacts in GPU mode.
Besides VRAM issues, I get more utilization and actually render several frames at the same time.
Using the native render manager, you'll see that it assigns the frames as packages of the specified amount you want to render at the same time, but it doesn't seem to make a difference compared to rendering one at a time. The same with simultaneous branching. Doesn't seem to make an actual impact on my system.
This might be connected to how Fusion schedules the actual rendering of frames. If you render something using the Fusion UI, you can't view any other nodes in a different composition at all. If you're using the render manager, you can theoretically keep working on something else, but you'll have to wait until the render manager is done with the currently assigned frames until Fusion will be able to start rendering on the frames requested by you. If you make changes, again you have to wait on the render manager to finish the currently assigned frames.
Deadline won't be able to start the render node at all when Fusion is running.
Maybe this is a remnant from the time when Fusion needed additional render licenses, so they stop you from opening several processes on the same computer.
But I always found it weird that Fusion is apparently rendering both the interactive requested frames and the final render frames using the same scheduler/process. Just splitting this up could maybe increase utilization.
And that may also be the reason why it doesn't actually render several frames at the same time, because they are still limited by the queue.
One other limiting factor is definitely I/O. Reading and writing to an SSD will dramatically improve performance. But that isn't always a viable option. Especially now with increasing memory costs.
It would probably be better if Fusion would load more initial frames into RAM in sequence so it doesn't have to read and write at the same time.
This is also why I'm not completely convinced about offloading everything to the GPU. Sure it can be faster. But the gain is insignificant if the VRAM management can't keep up. And rendering more frames at the same time is pretty limited with my 8GBs of VRAM on a modern GPU (RTX 3070). In some cases, disabling the GPU completely will render faster.