March 23, 2009
Guide to Final Cut Pro Internal Tools
By Jon Chappell
Did you know Final Cut Pro has a hidden menu? Just hold down Cmd + Option + Shift and click the Tools menu. You should now see a new menu item called Internal Tools.
This is a debug menu used by the developers of FCP, but it actually has some uses for us mere mortals as well. It's especially useful for plugin developers and system troubleshooters, but some features benefit all users. Here is a rundown of what's in the menu.
When you open the Audio Mixer, Frame Viewer and several other tools in the Tools menu, they open in a tabbed window called the Toolbench. This normally appears on top of the Viewer and is hidden behind it when you select the Viewer again.
The Adjust Windows menu item adjusts the window layout so the Toolbench can fit in without being obscured by other windows. If you don't have the Toolbench open when you click this item, it will leave a gap in your window layout.
To restore the default window configuration again, press Ctrl+U.
App / Perf Info
This generates a text file containing just about everything you could ever wish to know about your FCP configuration.
Probably the most useful part is the Project / Sequence Information section. This gives various statistics about your project including the total number of clips placed in your timeline and the proportion of those clips that were unique. It will even tell you how many edits you performed per minute (don't let your boss see this!).
Log OpenGL Profile Costs
This function displays timing information about OpenGL Profiling in the Console. It will do nothing until you start profiling (see the Statistics section below), at which point it tells you how long (in ms) it took your machine to process the given frame sizes and codecs.
One thing I noticed about this is that it takes a fair while for the data to be posted to the Console around 1-2 minutes.
Log VM Footprint
This outputs the current memory usage to the Console.
Resident refers to data in physical memory, Virtual refers to data on the disk ready to be copied into main memory as required. Note that the system often assigns more virtual memory space than it needs, so not all of that space will actually be used. So if you see a ridiculous number like 4 GB, it is not necessarily a cause for alarm.
This one crashes Final Cut Pro for me, so I wasn't able to ascertain exactly what it does. However, Apple offers a tool called Dumpster on their developer site which gives you a large amount of technical information about a specific movie clip. I would imagine this would be similar if it worked.
This will show you how your media drives are performing, and is probably the most useful tool in the menu.
If you are not using a RAID, only the audio bars will work. Everything is fine while the bar is green, but if it turns yellow or red, this is an indication that your computer cannot keep up.
Screen Size Override
This allows you to fool Final Cut Pro into thinking that you have a different-sized monitor.
Just select the desired resolution from the pull down menus and press Ctrl + U to automatically resize the windows to the new dimensions.
If you mess things up, just restart Final Cut Pro and press Ctrl + U to restore the windows to the correct position for your screen resolution.
This displays a lot of technical information about what's going on under the hood of FCP.
For instance, select the Render check box, drag the playhead across the timeline and then click the Average button. This will average the times taken to perform the various function calls required to render the image to the screen. If your system is getting sluggish, you may find it useful to use the Averages function to see which areas are taking a long time to process.
Most of the checkboxes are self-explanatory so I won't elaborate on them here. However, I would advise selecting them one at a time otherwise you'll end up with an overflow of information.
If you want to clear the text box, click Reset. Copy copies the entire data to the clipboard and Copy Avg copies only the averages. Unset All deselects all of the checkboxes.
Both Auto Profile and RT Verify go through each item in the Browser (video clips, sequences, images, etc), playing each one four times and averaging the data. Sequences take longer because the profiler initially tests with only the V1 track enabled, and then gradually enables V2 and V3 to perform compositing tests (if such tracks exist of course).
It's worth mentioning that since it goes through everything four times, it will take a while to finish processing, depending on the size of the project. You cannot switch to another application either or the profiling will fail. I would advise creating a brand new project with short media clips and sequences. If you truly have serious bottlenecking, this will still be apparent in the shorter sequence.
All the timing information is stored inside the Profile.csv log. Although you can view this in TextEdit, it will be difficult to read because it will not be formatted correctly. A spreadsheet application, such as MS Excel or the free NeoOffice or OpenOffice packages, is recommended.
If you are experiencing poor performance, look at the timings in this file to see where the major bottlenecks are. For instance, a slow FXScript filter could be indicative of a CPU bottleneck or an inefficient script. A slow Flop operation could be indicative of a GPU bottleneck.
Auto Profile and RT Verify appear, on the surface, to perform exactly the same task. However, it is likely that Auto Profiling actually updates your RT information whereas RT Verify merely performs the test without changing anything. This is difficult to verify without official documentation though.
Most of the functions in the Internal Tools menu will be too technical for a lot of users, and so the menu will likely remain something of a novelty. But if you are troubleshooting performance issues or developing applications and plugins for FCP, it is an invaluable source of information on the inner workings of Final Cut Pro.
The only downside is that the menu must be reactivated every time you start Final Cut Pro. If anyone knows of a way to enable it permanently through a preference file, I'd love to hear about it.
Copyright 2009 Digital Rebellion, LLC.
This article was first published on Digital Rebellion and is reprinted here with permission from the author.
Jon Chappell is an editor, VFX artist and software developer originally from the UK. He is the owner of Digital Rebellion LLC and is a regular contributor to the Final Cut Pro community. He is well known for developing the popular troubleshooting applications FCS Remover, Preference Manager and Compressor Repair. His film credits include the award-winning feature Perfect Sport.
All screen captures, images, and textual references are the property and trademark of their creators/owners/publishers.