Activity › Forums › Apple Final Cut Pro › FCPX Cache Keeps Growing–monstrously
-
FCPX Cache Keeps Growing–monstrously
Posted by Michael Hadley on November 10, 2020 at 2:45 pmHey Folks:
Never had this happen before–my cache keeps growing exponentially. I’ve got a 2.75 TB 4K project on an 8TB drive. The cache keeps growing–to where my drive filled up–5TB of render files. The culprit is the render files. Specifically, the files FCPX is generating the Cache>Render Files>High Quality Media.
I deleted all render files two days ago–and now the cache is nearing 1TB and growing. Yikes!
I am not currently optimizing media or creating proxy files. The bloated files do indeed seem to be render files in the Cache package.
Thoughts? Never seen anything like this–where the size of the render files keeps growing and exceeds the size of the media~
Help stop the monster!
Thanks.
Joe Marler replied 5 years, 5 months ago 3 Members · 7 Replies -
7 Replies
-
Pablo Rivasplata
November 10, 2020 at 3:31 pmHi Michael,
Your project looks like one that should be edited using proxies. This will end your nightmare.
Cheers.
-
Joe Marler
November 10, 2020 at 4:59 pmFCPX does not delete old or invalid render files. If you have background rendering enabled, they can build up to a huge total size.
Disable background rendering in FCPX preferences, then delete all render files via File>Delete Generated Library Files>Delete Render Files>All.
Then manually render clips only as required. You can select clips or the entire timeline with CMD+A, then render to cache with CTRL+R.
However that does not delete waveforms, thumbnails or optical flow analysis files. An easy way to safely delete all those (plus render files) from multiple non-mounted libraries is using Final Cut Library Manager: https://www.arcticwhiteness.com/finalcutlibrarymanager/
-
Michael Hadley
November 11, 2020 at 2:32 amInteresting point. Although I wonder how much additional data generating proxies will add to the total size of the project.
-
Michael Hadley
November 11, 2020 at 2:34 amYes, that stops the cache creep, thanks. Odd, though, I’ve been editing on X for years–usually with background rendering on–I’ve never experienced a cache growing larger than the total size of the media (which is 1.7 tb) and then keep growing to where it filled up an 8tb drive.
Thanks.
-
Joe Marler
November 11, 2020 at 3:00 pmYou were just fortunate before. Segments within the FCPX render cache are constantly being invalidated for various reasons. If the timeline is fully rendered and you merely tweak a color effect, that clip’s cache is invalidated, then gets automatically re-generated (if background rendering is on). Yet the previous cache files just sit there. If you edit a clip 20 times, there are 19 versions of stale ProRes 422 cache files just sitting there taking up space.
If you have an adjustment layer or title over the timeline and tweak that, all clips in the covered range are re-rendered. The previous cache files are marked invalid but stay in the cache folder.
If your source clips are H264, in general *each* version of the ProRes 422 cache files are about 6x that size. So it is very easy to have space consumption by the render cache which is *much* larger than the total media size.
Proxies have their own separate cache files. The proxies alone (not the proxy render cache) are roughly 60% the size of H264 originals, if using default 50% ProRes Proxies.
So for a single 30-second 4k H264 8-bit clip using 100 mbps encoding, the camera file is 373 MB. A single render file cache of that clip will be about 6x larger or 2.14 GB. If you make 10 edits to the clip, then background rendering could re-render it 10 times, occupying 21.4 GB.
Proxies have their own render cache, which is about 120% the size of the H264 original. E.g, if the original 30 sec. 4k camera clip is 373 MB, *one* instance of proxy render cache of that is 456 MB. If you edit that clip 10 times in proxy mode, that is 4.56 GB in proxy render files.
So the total cache space consumption of editing one 30 sec clip 10 times in orig. media mode then 10x in proxy mode would be about 21.4 + 4.56 GB or about 26 GB for an original 373 MB camera clip. You might think “I’m not editing the clip 10 times”, but any change to any clip above or below that in the timeline stack will cause all clips covered by that range to be re-rendered.
Also render cache segments can become invalid for non-editing reasons. Sometimes if you just re-launch FCPX, portions of the timeline may become un-cached. Sometimes switching between proxy and orig. media mode will cause this. Some of these may be bugs but if background rendering is on, it causes additional space consumption.
To be exact, the full stack depth of all clips in a *range* are invalidated and re-rendered, not just whole clips. There are not separate render cache files per clip in the stack, but render files are per range, just like you exported a ProRes file from a five-layer timeline. But for this simple analysis it’s simpler to think in terms of single clips.
-
Michael Hadley
November 12, 2020 at 7:43 pmThanks for the thorough explanation, Joe.
Interestingly, with this project, a lot of 4K footage. My typical workflow is to transcode everything to Pro Res before I bring it in to the project. But this was a rush project so I did not transcode–they are the original MXF files. I wonder if that had anything to do with it? In other words, would using Pro Res minimize the constant cache frenzy.
-
Joe Marler
November 12, 2020 at 8:34 pmNo, ProRes originals or optimized media would not by itself make a difference. However it would change the *ratio* of original/optimized media to render cache. A 60 second 3.2 GB 4k ProRes 422 clip rendered to cache would take about 3.2 GB, or roughly 1:1. By contrast a 60 second 4k H264 clip might be 700 MB and if rendered to cache might also take roughly about 3.2 GB, or roughly 4.5:1. So the total space consumed would be about the same per minute of 4k material, but as a ratio of original file size to rendered cache size, the ratio would be larger.
Reply to this Discussion! Login or Sign Up