One of the more painful gotchas I noticed with Resolve is that if you Render Cache anything, Resolve has no idea if the clip(s) that were originally cached have been modified on disk (or gone offline altogether), and will not invalidate the cache for those clips if they were.
So if for example, you've cached a composite of an animated super over video footage, and then the mogfx artist later overwrites the animated super file on disk with a revised version, the next time you open the Resolve timeline, the previously cached version with the old graphic is still visible, and the original Render Cache remains in place.
I would expect Resolve to detect that the source clip has changed on disk, and invalidate the cache for any part of the timeline where that clip appears.
It's even more disconcerting that even if I take the clip offline in Resolve (modified or not), it still shows up in the viewer:
So in order to get the most current state of the timeline, I have to manually invalidate the cache by deleting the cache for those selected clips.
I can see the advantages of a caching strategy like this, but I personally don't like it, because to me, the term "Cache" always implies something temporary, and something that can change or be invalidated any at moments notice. In most other apps that use a caching scheme, the cached frames are invalidated as soon as the user changes a parameter that would affect the appearance of the frame, or if the source media itself has changed on disk. This to me is the correct behavior, as it always ensures that you are seeing the actual state of the clip(s) as they would be if you output them without any caching enabled.
If the current behavior is the preferred behavior for some users, I would suggest offering a "pre-render" system, much like how After Effects "Comp Proxies" work, where you can actually associate a composition or clip with another pre-rendered file. This would make it a "static" cache of that composite/clip, and only invalidated if the user specifically detaches that pre-render.
So if for example, you've cached a composite of an animated super over video footage, and then the mogfx artist later overwrites the animated super file on disk with a revised version, the next time you open the Resolve timeline, the previously cached version with the old graphic is still visible, and the original Render Cache remains in place.
I would expect Resolve to detect that the source clip has changed on disk, and invalidate the cache for any part of the timeline where that clip appears.
It's even more disconcerting that even if I take the clip offline in Resolve (modified or not), it still shows up in the viewer:
So in order to get the most current state of the timeline, I have to manually invalidate the cache by deleting the cache for those selected clips.
I can see the advantages of a caching strategy like this, but I personally don't like it, because to me, the term "Cache" always implies something temporary, and something that can change or be invalidated any at moments notice. In most other apps that use a caching scheme, the cached frames are invalidated as soon as the user changes a parameter that would affect the appearance of the frame, or if the source media itself has changed on disk. This to me is the correct behavior, as it always ensures that you are seeing the actual state of the clip(s) as they would be if you output them without any caching enabled.
If the current behavior is the preferred behavior for some users, I would suggest offering a "pre-render" system, much like how After Effects "Comp Proxies" work, where you can actually associate a composition or clip with another pre-rendered file. This would make it a "static" cache of that composite/clip, and only invalidated if the user specifically detaches that pre-render.
Resolve Studio 18.0.2 / Decklink Mini Monitor / 14" 2021 Macbook Pro Max (macOS 12.5.1, M1 Max) / 32GB RAM