I'm putting this in the Resolve forum because it's specific to the Fusion page in Resolve; the problem does not apply to standalone Fusion Studio.
Issue: MediaIn nodes loading image files (tested PNG, JPG and TGA) are killing performance for me in Resolve's Fusion page. Switching to Loader nodes (pointing to the exact same files) magically causes the performance to return to normal, and matches Fusion Studio.
Edited on 23rd August 2020 and 13th September 2021: Based on the discussions of this thread, it has been shown that:
1. This issue happens with an still image being loaded by a MediaIn node in Resolve's Fusion page, of any format (eg JPG, PNG, TGA, TIFF).
2. It happens regardless of the source of the MediaIn, ie whether it's dragged direct from the Media Pool, or whether it's timeline media.
3. The issue is related to caching. It would appear that MediaIn nodes do not cache single-frame still images, whereas the Loader node fully caches this in RAM.
You can spot the difference immediately by looking at the green cache bar: it will never fill for a MediaIn, whereas a Loader will cache the entire timeline range instantly.
Therefore a single-frame still image accessed via MediaIn is re-processed on every frame - as if it was video footage or an image sequence - where the same image loaded via Loader is processed once, then cached for the full composition range. This accounts for the vast performance difference seen, especially when high resolution images are used.
4. As well as the significant performance problems noted in this post, this issue can also cause out-of-VRAM issues, especially for users with 4GB or less VRAM. It's also been shown to cause significantly higher GPU usage.
5. The issue is not connected to the fact that MediaIn nodes default to Float32: when depth is matched between a Loader node and a MediaIn, the Loader will always perform better, usually significantly better.
Since I first found and reported this issue, I have heard from at least 6 other people (on top of those who have posted in the thread) that they were experiencing performance and/or stability problems in Resolve's Fusion page that were resolved by replacing their MediaIn nodes for Loaders.
Original post continues:
Here's a simple node layout that exhibits the issue:
The layout shown is using two MediaIn nodes to load two large image files from the MediaPool. Both files are 6000x4000. One is a PNG, the other a TGA. The TGA file is a greyscale height map for the PNG.
This will get 2 - 2.3 FPS when I watch the Renderer3D:
I see even worse performance if I add the Fusion comp to a Timeline and render it via Deliver. Rendering 150 frames from the composition shown to ProRes 422 took 103 seconds, an average of 1.45 FPS.
If I then swap both MediaIn nodes for two Loaders, loading the exact same files from disk, performance will return to its expected level of 30 FPS. If I replace only one of the MediaIn, performance is still very bad.
I've prepared a sample project that quickly demonstrates the issue:
Link to download ResolveFusionMediaInPerformanceTest.zip from Google Drive
The ZIP contains a DRP, one PNG and one TGA file. The project contents are:
Issue: MediaIn nodes loading image files (tested PNG, JPG and TGA) are killing performance for me in Resolve's Fusion page. Switching to Loader nodes (pointing to the exact same files) magically causes the performance to return to normal, and matches Fusion Studio.
Edited on 23rd August 2020 and 13th September 2021: Based on the discussions of this thread, it has been shown that:
1. This issue happens with an still image being loaded by a MediaIn node in Resolve's Fusion page, of any format (eg JPG, PNG, TGA, TIFF).
2. It happens regardless of the source of the MediaIn, ie whether it's dragged direct from the Media Pool, or whether it's timeline media.
3. The issue is related to caching. It would appear that MediaIn nodes do not cache single-frame still images, whereas the Loader node fully caches this in RAM.
You can spot the difference immediately by looking at the green cache bar: it will never fill for a MediaIn, whereas a Loader will cache the entire timeline range instantly.
Therefore a single-frame still image accessed via MediaIn is re-processed on every frame - as if it was video footage or an image sequence - where the same image loaded via Loader is processed once, then cached for the full composition range. This accounts for the vast performance difference seen, especially when high resolution images are used.
4. As well as the significant performance problems noted in this post, this issue can also cause out-of-VRAM issues, especially for users with 4GB or less VRAM. It's also been shown to cause significantly higher GPU usage.
5. The issue is not connected to the fact that MediaIn nodes default to Float32: when depth is matched between a Loader node and a MediaIn, the Loader will always perform better, usually significantly better.
Since I first found and reported this issue, I have heard from at least 6 other people (on top of those who have posted in the thread) that they were experiencing performance and/or stability problems in Resolve's Fusion page that were resolved by replacing their MediaIn nodes for Loaders.
Original post continues:
Here's a simple node layout that exhibits the issue:
The layout shown is using two MediaIn nodes to load two large image files from the MediaPool. Both files are 6000x4000. One is a PNG, the other a TGA. The TGA file is a greyscale height map for the PNG.
This will get 2 - 2.3 FPS when I watch the Renderer3D:
I see even worse performance if I add the Fusion comp to a Timeline and render it via Deliver. Rendering 150 frames from the composition shown to ProRes 422 took 103 seconds, an average of 1.45 FPS.
If I then swap both MediaIn nodes for two Loaders, loading the exact same files from disk, performance will return to its expected level of 30 FPS. If I replace only one of the MediaIn, performance is still very bad.
I've prepared a sample project that quickly demonstrates the issue:
Link to download ResolveFusionMediaInPerformanceTest.zip from Google Drive
The ZIP contains a DRP, one PNG and one TGA file. The project contents are:
- FusionMediaInTest contains the node layout shown in the first screenshot. It accesses the provided PNG and TGA files through MediaIn nodes, and gives 2.2 FPS when monitoring the Renderer3D
- FusionLoaderTest contains the some structure except MediaIn nodes are replaced with Loader nodes, accessing the exact same files on disk. This gives me 30 FPS when monitoring the Renderer3D
Last edited by TheBloke on Tue Dec 14, 2021 6:59 am, edited 7 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
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