I’d love some recommendations to getting FCP back up to speed. I have an M1 16GB MacBook Pro, working off a 2TB external drive (not an SSD). It claims to have 800GB free.
For months my project worked unbelievably smoothly on my new laptop, I even worked on it occasionally with FCP, Photoshop and Lightroom open simultaneously, which seems insane but it was fine!
However, in the last few days the program has ground to a halt and I can’t figure out why. The project is about 8 minutes long, and is 24fps 1080p. Most files I’m working with are 4k though I think i should have proxies generated.
What’s changed in the last few days with the project is that I have added a few very short JPG time lapse scenes (total of maybe 6s) as well as some animations, composed of PNGs. At first these files were located on the MacBook, but I realized that mistake and moved and relinked the source files to the external drive.
it’s still so slow, to the point where it’s basically unusable. I can barely playback, and just trying to scale a clip causes it to crash.
I’m planning on getting an SSD external drive to work off of, which I realize I should have already been doing. But I’m concerned this won’t fix the problem as it was working so smoothly before.
Any help would be hugely appreciated, my deadline is coming up soon and I’m freaking out!!
What’s changed in the last few days with the project is that I have added a few very short JPG time lapse scenes (total of maybe 6s) as well as some animations, composed of PNGs.
As it was all working fine before, it suggests that playing these image sequences is what is causing the problems.
It might be that these image sequences haven't been rendered in the Timeline (little dots above them). I know this is obvious but without seeing your actual Timeline, it's the first thing to ask.
Have you got a version of the Project without these sequences and does that still play fine? If you don't have a version like that, make a Snapshot of your current Project, rename it something like "Test Project - no Image Sequences", double click this new version to open it in the Timeline and delete all your image sequences. If this plays fine, you know the problem is with those sequences.
A solution might be:
1) Make sure in Settings/Import you have "Copy to library storage location" selected
2) Use the Range tool to select each of the Image Sequences and "Share" each of those sequences as "Export File (Default)..." and save each as Video Files to the Desktop.
3) Drag those new video files back into the Timeline, placing the new video files above the original Image Sequences. (Leave the original image sequences in the Timeline, just press "v" to disable them.)
4) As the video files that were saved to the desktop will have now been added to the Library, you can delete the copies from the Desktop.
...added a few very short JPG time lapse scenes (total of maybe 6s) as well as some animations, composed of PNGs. At first these files were located on the MacBook, but I realized that mistake and moved and relinked the source files to the external drive.
it’s still so slow, to the point where it’s basically unusable. I can barely playback, and just trying to scale a clip causes it to crash....
Depending on resolution size and various factors, doing a time lapse within FCP can degrade performance. Here is a short tutorial by Dylan Bates on how to use Quicktime Player to generate the sequence before importing to FCP:
Thanks for the thorough response @Zabobon. I removed the time lapse, and replaced with sequences that I preprocessed in QuickTime, as per recommendation of @joema. It seemed to be improving but quickly returned to working extremely slowly. After rendering, playback still drops tons of frames and basic edits are enough to send get a beachball that doesn't go away.
I have an SSD being delivered Friday so hopefully that will at least help, but I'm still frustrated not being able to fix this. I thought of a couple other things that I had done to the project recently that may be relevant:
Changing the color grade on a large portion of clips
changing audio on many clips
May have deleted generated media, though I am not sure. Could it be that I am missing proxy media and need to regenerate this? any way to check?
I haven't tried to delete the animations, which are basically PNG time lapses, but I'll attempt that now. It seems like it wouldn't hurt, because playback is affected in regions of the project several minutes away from these edits.
I'm also going to try and mess around in an old project in a different library to see if the issue is with FCP or with my library.
This might very well be the reason so, hopefully your new drive will work better.
In the meantime there are other things you can check.
1) In Settings>Playback make sure "Background render" is turned off. (Background render can be good but it means every few seconds when you aren't doing anything Final Cut Pro jumps in and tries to render preview files which can cause the spinning beachball.)
2) A bigger test: If you have room on your Mac's internal hard drive, make a copy of the Library you are working on (using Finder) on your Mac's internal drive and open that copy instead of the copy on the external hard drive. This will determine if the problem is to do with working off the external drive.
In the past I tried to edit a film on a MacBook Pro with the Library on a portable usb powered drive and ran into similar problems. In the end I put the Library onto the internal drive (as I'm suggesting above) and used the portable drive to make a daily backup of the Library.
It will not use proxies unless you click on the upper-right "View" button on the viewer and select "View>Proxy Only", or "View>Proxy Preferred". If there is any doubt you have proxies, select Proxy Only. If proxies exist it should be a lot faster. If proxies don't exist it will show red clips.
I have enough room to bring the Library onto my internal drive, but not all the associated files, as the optimized media folder is now over 600GB. Not sure how I can test this given that situation, since it would require the library and its associated files to be on different drives which seems as though it would defeat the purpose.
Here's another piece of information, I ran a speed test on the HDD I've been editing off of and it seems like it's extremely slow. Not sure if it's slowed down significantly but I'm sure this is at least contributing to the issue.
The Library file/package would benefit by being on a fast drive (internal, external SSD, or fast RAID), as FCP does many SQLite database reads and writes all the time (with the Library files). Allso, having caches and thumbnails on a fast drive will help with UI responsiveness.
Your speed test results are typical for a single spinning HDD, which depending on the drive, interface, etc., can range from 80 to 120 MB/s in real-world usage scenarios. In an ideal situation a single HDD might reach 170 MB/s, but this is quite rare (and probably requires a HDD on a very fast connection).
HDD are not good with many reads/writes per second, jumping from file to file, as in heavy database use, due to their latency. They aren't good for many streams, for example, in a multicam clip, even if the component clips of the multicam don't exceed the bandwidth of the HDD (latency, again).
In the absence of serious bugs, which are rare, it's likely that most slowdowns are due to any number of drive issues.
Update for anyone interested:
I bought the Sandisk Extreme Pro SSD, 2TB rated to 2000 MB/s. I moved the library and all other project files to the drive and everything is working really fast, Lightroom is way faster too not surprisingly.
Although it is working perfectly now I don't feel as though my initial question was answered. Still does not make sense how it went from working quite smoothly with an HDD to being totally unusable. Maybe the drive slowed down in some way, it has always had issues when accidentally ejected. Or maybe the project file just hit a critical mass for the drive speed. Anyway, it works now! Thanks for the help y'all
...Although it is working perfectly now I don't feel as though my initial question was answered. Still does not make sense how it went from working quite smoothly with an HDD to being totally unusable...
That is called a "scalability cliff" or "scalability wall". It can happen when a seemingly modest increase in load (e.g, you adding JPG time-lapse scenes and other animations) causes a drastic slowdown. Another term is "threshold effect" which affects many areas, such as highway traffic. If a highway handles a certain number of vehicles per minute, then a slight increase in traffic rate causes a backup. Another analogy is fluid flowing into a funnel. If below the threshold of the narrow spout, an increase of incoming fluid will be matched by an increase in outflow. However a small increase above the threshold will cause a seemingly-sudden backup.
When you added the SSD you essentially built a multi-lane data highway so a small increase in I/O load will not cause a sudden slowdown in response.
How many Libraries do you have open currently (when this issue started)? The more Libraries, Event, and Projects you have loaded in FCP the more resources are used/needed.
With the HDD, you can play back a handful of streams (e.g., in a multicam clip) before things start to slow down. The codec being used and frame size affect performance, as well. As a HDD fills up each file may not be stored as a contiguous chunk on the HDD. This means that the more fragmented files become, the longer it takes for the HDD to jump to the next part of the file. A HDD can only do so many things at once, whereas an SSD is not limited by this kind of latency (crudely stated).
Now, add in all of the database reads and writes as you use FCP. Once things get complicated enough, a HDD will have trouble keeping up. Having background rendering on can slow things down. Having "Better Quality" selected in the Viewer's View menu requires more bandwidth. Using optimized or proxy media can affect drive performance and affect responsiveness in FCP. If you start to layer clips in the timeline, add efects, transitions, captions, etc., all of these can slow down one's system.
It also may be that your HDD needs to be "repaired" by Disk First Aid. When you copied everything to your new Sandisk SSD, the files are most likely contiguous, so that helps further.
To possibly provide a bit more detail, you could export your Library as XML and make it available for download (no media is required, as only the structure of things is contained in the XML) . Also, let us know how many Libraries are active/loaded when you use FCP. It wouldn't take much time to load the XML and check out things.
Lots of moving parts, any of which could affect the responsiveness of FCP's UI and overall performance. Having just restarted your Mac and not having other applications or tools running can affect (positively) how well FCP works.