Welcome to the Final Cut Pro X Storage FAQ
In this FAQ we discuss ways to make your Mac run faster when using FCPX.
(Last updated 1/1/14)
Definitions:
Final Cut Pro X - Apple's pro video editing app. Disk Utility - Apple's storage partitioning and maintenance app. Also known as "DU". Block - One unit of data storage on a storage device - usually, but not always 512 bytes. Some newer devices use a new 4K block size. Partition - A portion of a storage device used to store files and other data. Same as a volume. Volume - Apple's term for a storage partition in OS X. Same as a partition. Byte-alignment - ordering data on a storage device so that data boundaries always fall on evenly-spaced boundaries. Macs usually use 4, 8, or 16-byte alignment, depending on the data structure being used. Filesystem - The part of the Operating System (OS) that controls storage I/O on the computer. Usually there is one file system framework in the OS for each storage partition format. Fragment, fragmentation - A file fragment is one piece of a file stored on a storage device. Fragments can be either made up of contiguous blocks (adjacent to each other), or non-contiguous blocks (spread out over the storage device). Or both. "Fragmentation" occurs when pieces of files are laid out all over the disk in non-contiguous order. Free Space - How much remaining unused room is currently available on a partition to store files. Hybrid Drive - A storage device that uses a combination of SSD (see below) and traditional rotating platters to store data. Performance of hybrid drives is somewhere between a tradition hard drive and an SSD. Also known as an SSHD. RAID - Redundant Array of Inexpensive Disks. In a RAID storage system, several storage devices are combined into one array, either via a hardware RAID controller, or via a RAID software driver to make the array appear as a single disk to the operating system and computer. RAID levels include 0-7. See the Wikipedia article on RAID to learn the differences between RAID levels. RAID setups can be either faster, more reliable, or both when compared to single-disk storage systems. However, RAID systems tend to be more expensive than single storage devices due to the increased number of devices required. In "striped" (RAID 0) systems a single drive failure can cause complete data loss on all devices in the array. RPM - Revolutions Per Minute - In traditional disk-based storage, how fast the disk platters spin. Higher RPM generally give better storage performance. SSD - Solid State Drive - A storage device that has no moving parts and uses fast memory to store data instead of storing data on rotating magnetic platters. Currently, SSDs are more expensive than hard drives. Startup Disk - Also known as the "boot volume" the Startup Disk is the OS X storage partition that you have set to start your Mac up with. The Startup Disk must contain an installation of the OS X operating system. You can change the Startup Disk by opening the System Preferences app and clicking on "Startup Disk".
|
Another excellent 3rd-party partitioning app for OS X is:
(About $50 USD)
Master Editor Larry Jordan has a great multi-boot OS X disk article here:
http://www.larryjordan.biz/create-a-dual-boot-mac-os-x-system/#comments
Larry also has a great bus throughput speed video here:
http://www.youtube.com/watch?v=O9qvIfJRH3s&feature=youtu.be
So here's the meat of the FAQ:
Q: How can I speed up my storage device for Final Cut Pro X on my Mac? A #1: Create as many separate volumes as you can to hold various files – one for Startup Disk, one for apps, one for normal files, one for larger files, one for images, one for iTunes. Why? Because every Mac volume has various catalog files and B-tree extents files – all of which keep track of the real files on that volume. As the number of files increases on any given volume, it takes longer for the filesystem to traverse those catalog and extents files. Hence, opening a volume containing a huge number of files slows the machine down. But if your Mac has several volumes, each of which have a small number of files, then the overall Mac performance will increase. This will also help speed up file open/save dialog boxesin all apps since apps won't have to enumerate huge lists of files when you single-click a volume in the open/save dialogs. A #2: Keep volumes (partitions) large, but relatively empty. You don’t want to fill partitions up until they are almost full. Macs run faster when each partition is 50% or less full. This is especially true of the boot (Startup) volume. Files are laid out on disk in *discontiguous* fragments. Total data for each file is rarely contiguous on disk. When the system goes to write new file data out, if there is a lot of free space on the volume, it can locate free space to write fragments to more quickly. OTOH if a volume is really full then there is less free space and the filesystem may have to search many free blocks in order to find one of adequate size for the next file fragment to be written to. Hence volumes which have lots of free space improve system performance because new empty disk blocks can be located more quickly by the filesystem when it goes to write new fragments out. Q: How big should I make my Startup Disk (boot volume)? A: For the Startup Disk, make a HUGE volume and leave most of it empty. Get the biggest internal drive that you can. OS X has a VERY heavy Virtual Memory (VM) system. On top of that Objective-C (which most Mac apps are written in) has to load and link code frameworks dynamically at runtime while apps are running. All that code and resources has to be dregged up off the disk while the app is running and while the OS is doing read/write I/O for the Virtual memory system at the same time. This is true even if you have a huge amount of physical RAM. This phenomenon is known as resource contention in computer science circles: if the system is competing to shuttle data from VM on the disk at the same time apps are trying to I/O data to/from the disk, things will slow down. One way to speed up the VM system is to give the Startup Disk vast amounts of free space. So if you have a 3TB internal hard drive, make the boot partition 500GB or better yet 1TB! Don’t use a 100GB boot partition. A huge Startup volume gives the VM system which can “page” huge amounts of data into and out of RAM/disk a huge amount of room to run. Keep ‘er wide open. Systems with small or almost full boot volumes will run considerably slower – even if they have a fast hard drive. Also consider that on top of VM and normal file I/O, FCPX itself is doing massive amounts of disk I/O during normal processing. You need to avoid resource contention at all costs and leaving vast amounts of free space on the Startup Disk is the best way to do that. Q: Where should I store my FCPX projects and media? A: In general, you should store newly created projects and media on external devices. Again, this is in order to avoid resource contention issues: if you store projects and media on your boot drive, FCPX has to access that drive at the same time the app or OS might try to access it. When that happens, resource contention occurs, slowing down the system. This is often why you see the "Spinning Beach Ball of Death" (SBBoD) when you try to import media or create new projects. Storing all projects and media on external storage means while those devices are being accessed by FCPX, Mac OS X can still access your Startup Disk for Virtual Memory or other operations independently. This improves system performance and helps avoid the SBBoD. Resource contention does not occur and the system does not appear to lock up. However when storing projects and media files this way, the external drives they are stored on must be fast or else that too will slow the system down. It's easy to store your new projects and media on external devices: when you import the media from your device, in the FCPX import dialog it lets you specifiy where to save the new project and media files. In general, you should beforehand create an entirely dedicated volume or external device just to store your FCPX and media files on. In the import dialog sheet, you can specify that dedicated location to create/copy the files. This way, FCPX knows exactly where everything lives right from the start - you don't have to copy or reconnect media in any way later. As with other volumes, make the dedicated volume for your FCPX files as large as possible - more free space on the volume means faster performance. Q: Should I use hard disk sleep? A: Yes and no. When using FCPX, definitely turn off "Put hard disks to sleep when possible" in System Preferences. When not using your machine, or not doing idle processing, turn this setting back on. Keeping this setting off insures that your system's hard disks won't be put to sleep if you go to lunch or get up for a cup of coffee. And that means when you return to your computer, there will be no delay as the hard disk spins up when you go to access data. Q: What about my iTunes library and files? A: Move your iTunes library and all media files to its own volume – make a new volume in DU just for iTunes, then go to ~/Music and copy the entire contents of the “iTunes” folder as-is to the new "iTunes" volume you made with DU. Once the copy completes, trash the original iTunes folder off your Startup Disk, and then Command-Shift drag from the new iTunes volume into the ~/Music folder, thus making an alias to the new iTunes folder inside your ~/Music folder. The new alias must be named “iTunes” just like the original iTunes folder was. Next time you run iTunes, it will use the library located in the new location on the new partition. This approach both frees up space on the boot volume and allows you to re-install OS X more quickly without having to back up your iTunes folder first. This also speeds up your Mac because both the Startup Disk's catalog and the catalog on the new iTunes volume are both smaller, and thus easier and faster for the filesystem to traverse. 5) There are also various tutorials on the web which show you how to move the user’s home folder onto its own partition – further speeding things up and making re-installs of the OS quicker. Be sure to back up your data before attempting this however because if you damage your home folder installation, your Mac may not be able to start up. Q: Can I change Final Cut Pro X's scratch disk? A: "Scratch disks" are no longer relevant in Final Cut Pro X as of version 10.1. The concept of scratch disks is obsolete because with Final Cut Pro X, you can save projects anywhere on any storage device. Q: What kind of storage device should I use for my Final Cut Pro X system? A: This is a complicated and difficult question and there is no one right answer for every system or user. You will need to gauge your needs and budget and decide what storage solution is right for you. However, there are some key things to keep in mind: 1) Hybrid drives are faster than "regular" hard drives. SSD drives are faster than Hybrid drives. "Regular" hard drives come in varying rotational speeds: 4200, 5400, 5900, 7200, 10,000, and 15,000 RPMs. 7200 is generally considered the "sweet spot" in price/performance tradeoffs. 10,000 and 15,000 RPM drives will provide better performance, but be aware they generate a lot of heat and may cause heat problems when installed in laptops or iMacs. 2) Replacing your stock 5400 RPM iMac internal hard drive with a big 7200 RPM internal hard drive will provide significant performance boosts for little expenditure. 3) While overall throughput depends on a variety of factors, in general, overall storage bus speed from lowest to highest is: FireWire 400 FireWire 800 SATA (most Macs have the internal drives on a SATA bus) The new Thunderbolt 2 bus provides even better throughput but older Macs don't have Thunderbolt 2. If you can move most of your faster drives to the Thunderbolt bus do so. Moving drives from USB or FireWire to Thunderbolt will provide great performance inprovements. However, the bus throughput is only one factor among many in determining how fast overall your storage I/O will be. Other factors such as on-disk cache size/speed, storage technology used, and disk size also determine how much storage throughput you can wring out of your system. For example SSD drives are vastly faster than hard drives. But if you put a really fast storage device on a slow bus such as USB 1, it's not going to perform very well. What you want is both really fast devices on really fast busses. For example an SSD on Thunderbolt is blazing fast. Conversely a 4200 RPM hard drive on USB 1 or 2 isn't going to be very fast, nor is an SSD on a USB 1 bus. For resource-intensive work like video editing, get the highest-end equipment you can - a 10,000 or 15,000 RPM external drive in an external drive cabinet that has a Thunderbolt connection is going perform very well even for HD video editing. One additional thing to note is that when using FireWire, the entire bus speed on each bus is only as fast as the slowest FireWire device on that bus. Most FireWire (or iLink)-based camera equipment transfers data at 1394a speeds (which is approximately 1/2 of FireWire 400 speeds). Hence the best way to preserve FireWire storage speeds is to put all FireWire drives on their own bus and all FireWire/iLink-based camera gear on another FireWire bus. Keep this in mind when connecting FireWire storage devices. In general a good setup might be as big an internal SSD as you can get for boot, OS, and FCPX, and then several huge, fast external hard drives on Thunderbolt for project files and media. Of course having lots of free RAM helps too because it reduces VM paging and thus reduces both disk thrashing and resource contention. Q: I use Final Cut Pro X on my laptop. How can I speed it up? A: Some Mac laptops ship with slower standard stock hard drives such as 5400 RPM 2.5" SATA drives. These can slow down your machine due to their slower rotational speed. If you use Final Cut Pro X on a laptop, consider replacing the stock internal 5400 RPM hard drive with a much faster SSD or Hybrid drive. Replacing the internal 5400 RPM hard drive will vastly speed up your laptop and Final Cut Pro X. Q: What about RAID? RAID can significantly speed up your editing setup, but again there are things to be aware of. There are many different RAID types, but in general there is stripping and mirroring. Striping is faster because it spreads disk reads and writes out over several devices, making the overall setup faster. Striping involves combining multiple storage devices with either a hardware RAID controller or a software RAID driver to make the multiple array members look like one storage device to the operating system. Hence RAID provides increased performance without any code and app changes. The big downside to striping is that if one of the RAID array devices fails, the entire array fails and is inaccessible unless you've backed up and restore it. Usually with any kind of striped setup a daily or even hourly automated backup system is required. OTOH, mirroring involves using multiple storage devices in a RAID array but each device gets identical data written to it on each disk write. The idea with mirroring is that if one array member device fails, others still have the data. Think of mirroring as an automatic and instantaneous hardware backup. From an editing standpoint, a striped RAID setup will provide the best perforance improvement, but it requires a dedicated frequent backup. If you connect the RAID stripe array via a high speed bus such as Thunderbolt, you will get even better performance. Some hardware RAID controllers even allow you to connect individual devices to separate busses, further increasing performance! The ultimate RAID setup might be a PCI RAID controller card or external Thunderbolt RAID enclosure that allows you to connect each array memeber device to one Thunderbolt bus. These complex hardware RAID controllers tend to be more expensive however. Q: What is the difference between hardware RAID and software RAID? With hardware RAID there is usually some dedicated RAID hardware controller - either a PCI card or external FireWire or Thunderbolt chassis that contains both a controller and which holds the storage devices themselves. In hardware RAID, the controller itself manages the devices and presents them as a single device to the computer. Hardware RAID tends to be more expensive because it requires the controller and enclosure for a complete system. In software RAID, there is no dedicated controller - instead the operating system contains a special software RAID driver which manages multiple storage devices and presents them to the computer as a single device. In general, a software RAID drives acts like a hardware RAID controller. Most modern operating systems contain software RAID drivers for such use. Software RAID is less expensive than hardware RAID but it tends to be slower since the CPU or internal storage controller has to manage the array along with all the other things the computer has to handle. Mac OS X and Apple's Disk utility contain everything you need to set up a RAID system right out of the box. To use DU's software RAID feature, open it, select one or more hardware storage devices from the list on the left, and then click the RAID tab. This allows you to then set the parameters for the RAID setup. Once you are satisfied with the settings, click Create. Be aware all data on all the existing RAID set members will be destroyed permanently. In general, software RAID is only useful if you have multiple identical dedicated external storage devices to use in the array. With both hardware and software RAID you should try to use exactly identical devices for every member of the array. Using identical devices and specs will improve performance. Q: What kind of data throughput should I aim for? A: In general, if you are doing any kind of HD video editing, your storage system ideally should be able to deliver 100MB-200MB/second of data throughput, although the throughput and requirements of each system vary. You may want to run some tests on various kinds of video files containing different compression schemes using your external storage system to discover what kind of throughput you require. Q:Should I defrag my storage devices or not? A: This is a very good question. The answer may surprise you. The short answer is both yes and no. On your Startup Disk the answer may be "no". When Apple's OS X installer makes a clean install of OS X, it also knows how to optimize the layout of the disk and it does so - in ways no other software can know how to do. So in the case of the Startup Disk, fully defragmenting may not be a good idea. For other drives - file storage and DV storage drives, it is a good idea - because contiguous files are both easier to read and becuse they allow the OS to traverse that volume's catalog more quickly. Writes are also faster on fully defragmented drives because the filesystem can locate free blocks to write to more quickly. But one thing most people don't know is that with OS X a full erase and re-install of the OS always provides more increased performance than a defrag. If you find your machine slowing down and wonder what's the best way to speed it up again, you may need to do a clean install of the OS. Yes, this is a headache - you have to backup all data on the Startup Disk, backup all your settings and preferences files, reinstall, and then move all those back to the newly installed volume, but it will be worth it because your machine will seem faster than ever. Perhaps you should consider doing a clean install of the OS every 6 months or so. Q: What other tweaks can I do to speed up Final Cut Pro X? A: In general, the more things you turn on in FInal Cut Pro X's Preferences, the slower it will run. The Preferences items shown below in red will always make FCPX run slower. But also be aware that in many cases, you need or want those features and so should leave them on. Performance is a balance between deciding what features you need and what ones consume too much processing power or use too much disk access. If you turn on "Save library backups" FCPX will save backups of your project libraries. Be aware that this consumes processing power and puts a load on the storage system because it has to do big file copies in order to do the backup. If you do decide to enable library backups, use the "Library backups location:" popup menu below that to set the backup location to a non-startup disk volume, or better yet, to another storage device altogether. If you save library backups to the startup disk, it will impact performance, again because of resource contention. If you save library backups, ideally you should save them to an external storage device - FireWire or Thunderbolt if your Mac has it. In doing so, when all that backup data goes to be written out, it will be on an external device and not contend with the internal hard drive - which the OS and app are accessing at the same time. :-)
If you turn on "Copy files into:" instead of "Leave them in place", an additional file copy has to happen when you import media, hence putting more load on the system until the copy completes. If you turn on "Create optimized media" FCPX has to read and convert video and audio after it is imported - also putting more of a load on the system. If "Analyze for balance color" is turned on, further processing power is used. Likewise "Analyze and fix audio problems" will take more processing power. Keep in mind however that all these features only use more processing power temporarily and once those operations complete, your system will return to full power. You might very well want all those features on and be willing to live with less performance for the short time it takes to do the processing. So, don't just turn them all off because you think it will make FCPX permanently faster, because it won't - it only impacts system performance while the processing is actally happening. |
Links & Other Resources
These Apple docs give a good overview of the HFS Plus (Mac OS Extended) disk
partition format as well as how storage device drivers work in OS X. These provide insight into
how files and data are actually stored on OS X volumes. The parts about Catalog files and B-tree and
extents files are particularly helpful. Once you understand how files are actually stored on disk, making
decisions about where and how to partition your storage devices becomes easier.
Apple Technical Note TN1150 - HFS Plus Volume Format
Apple Technical Note TN1189 - The Monster Disk Driver Technote
Apple Mass Storage Device Driver Programming Guide
The Mac OS X Internals book contains a very detailed technical discussion of how filesystems in OS X work.
Programming the Be Operating System (Some useful insights from the era of BeOS into how Virtual Memory systems in general work).
(Footnote: in 1997 when Apple was looking for a new OS to replace OS 9, it almost bought BeOS instead of NeXT).
Haiku OS Project (A modern free clone re-write of the BeOS which runs on Macs).
Here are some links to articles about moving your OS X home folder to another drive.
Moving your OS X home folder to another drive or even another volume on your Startup Disk
improves performance because that volume's catalog will contain fewer entires and thus the
OS can traverse it more quickly when it needs to access files in your home folder.
If you are using an SSD as your internal drive, moving the home folder to another drive also allows you to use a smaller SSD.
One thing to note however is that Final Cut Pro X by default stores its project and imported files in the home
folder, and hence for FCPX use, in general, a lot of storage space is required for the home folder.
Apple Support Communities: How do I move or change home folder in OS X Mavericks?
Relocate Your Home Folder to Another Drive or Volume
Move Your Mac's Home Folder to a New Location
Transferring Home Folders not on a Startup volume
We hope you've enjoyed this tutorial.
If you have any questions or comments, feel free to email us at info <at> globdesign <dot> com
©2010-2021 Glob Design, LLC. All rights reserved worldwide. |