Optimizing your workflow for speed (Part 1)
Snow Leopard gives a couple of really nice compositions we can use with our recordings. All these compositions are available when we use Podcast Composer to make workflows. What you maybe don't realize is that using some of these effect might have severe effect on the performance of your workflow. The main culprit is the 'core-edit-master' task.
The core-edit-master task in a Podcast Composer workflow renders out the output of the previous effects and composition tasks. These tasks output a quicktime reference file and core-edit-master renders this file into a new flat movie file. It keeps the original size and uses H.264 (highest quality, single pass) for video and AAC (44,1 kHz, 16 bit stereo) for audio encoding. I have seen that this task in different workflows and on different hardware takes relatively the longest time of all the tasks in the workflow. There is a lot to gain in optimizing on this bit!
Here are some results from rendering times on different machines using the default Single Source workflow. All these tests were done with the same source file that I used from:
| Time complete workflow | Time edit-core-master | Machine type |
| 17:55 | 12:44 | 2.8 Ghz Quad Core XServe 6 GB RAM ATI Radeon X1300 64 MB |
| 12:27 | 8:23 | 2.66 GHz Quad Core Mac pro 3 GB RAM NVIDIA GeForce-GT 120 521 MB |
| 45:24 | 26:22 | 2.5 Ghz 2 core Mac Mini GMA950 64 MB |
As you can see in the table, the XServe has more CPU power, but the Mac Pro still runs faster. The difference is in the GPU power. Even with the standard graphics card, the Mac Pro is still much better equipped in this department than the XServe.
Next I did some tests with a workflow I created that has no intro, no transitions and no overlay. I used the 'Single Source' workflow as template and just removed all the extra input options. It still renders to the three different formats.
| Time complete workflow | Time edit-core-master | Machine type |
| 8:01 | 3:28 | 2.8 Ghz Quad Core XServe 6 GB RAM ATI Radeon X1300 64 MB |
| 6:12 | 2:48 | 2.66 GHz Quad Core Mac pro 3 GB RAM NVIDIA GeForce-GT 120 521 MB |
| 27:39 | 9:44 | 1.66 Ghz Core 2 Mac mini GMA950 64 MB |
As you can see in the results, the render times are significantly faster, but if you look inside the workflow and inspect the template.plist file, you will see that still the 'import' and 'core-edit-master' tasks are run even though they don't do a lot at this stage. I've created a workflow where I manually removed those tasks and re-run the tests.
| Time complete workflow | Machine type |
| 4:38 | 2.8 Ghz Quad Core XServe 6 GB RAM ATI Radeon X1300 64 MB |
| 3:53 | 2.66 GHz Quad Core Mac pro 3 GB RAM NVIDIA GeForce-GT 120 521 MB |
| 17:54 | 1.66 Ghz Core 2 Mac mini GMA950 64 MB |
As you can see, just by removing those two tasks the image result is still the same, but it now runs at twice the speed. Since using Snow Leopard you might have noticed that XGrid no longer reports the amount of core's available, but the amount of core's available divided by two. This means that on the Mac mini Core Duo Xgrid will only run one task at the same time. Now, I must say that the XGrid team at Apple have done this for a reason. I do not know the reason, so changing the value might give you unexpected results. However, if you want to give it a try here goes:
defaults write /Library/Preferences/com.apple.xgrid.agent ProcessorCount -integer
| Time complete workflow | Machine type |
| 4:33 | 2.8 Ghz Quad Core XServe 6 GB RAM ATI Radeon X1300 64 MB |
| 3:19 | 2.66 GHz Quad Core Mac pro 3 GB RAM NVIDIA GeForce-GT 120 521 MB |
| 23:08 | 1.66 Ghz Core 2 Mac mini GMA950 64 MB |
As you can see in my results it didn't make much of a difference for the Quad core machines, but the Mac mini was actually slower.
To round things up I can say that if you need a workflow that is fast, or you are limited by your hardware, it would be best to not use any of the special effects that Podcast Composer provides. If you need even more speed you could go into the workflow and remove the core-edit-master and import tasks by hand.