www.xlr8yourmac.com

Reviews and Daily News with a  Difference!
Select a Topic Area To See a List of Related Reviews & Articles
Systems  | CPU Upgrades  | SCSI | IDE | Firewire  | Video  | Audio  | Games  | Misc/OS  | Archives  | Search

Searchable Databases of Mac Owner Reports on:
CPU Upgrades | Drive Compatibility (HD/DVD/CDRW/Tape) | System/Graphics Benchmarks | Game Reviews

Got Questions? - Check the FAQ for Answers
800+ Answers on CPU Upgrades/CDR/DVD/Storage/Video Cards/Firewire/Games & More!
Email News/Tips/Reviews | Forums down |  Advertise here
Final Cut Pro 3 Realtime Effects Performance TweaksReturn to News Page

Click for iPod Accessories
Click for iPod Accessories

Final Cut Pro 3 Realtime Effects Performance Tweaks
By Anders Holck Petersen
Published: 12/27/2001
(Updated: 12/28/2001 for links to modified script file and disclaimer)


I don't have Final Cut Pro 3 (nor am I familiar with it) to verify this, but a reader sent a note about script tweaking to boost real-time effects performance that he said made a dramatic difference.

"Hi Mike!
I got a DP 450 G4 PowerMac and have just upgraded to Final Cut pro 3. Being a little disappointed by the G4 realtime capabilities of my machine I started sniffing around, and here is what I found out:

The amount of real-time on your machine is chosen with the FX script:
/Applications/Final Cut Pro.app/Contents/Resources/English.lproj/FXScripts/FCP RT Software DV Enabler

First it Checks if several features exists on your machine, then divide it into 7 different 'Cpuclass' tags.

The check is done by the following lines in the script:

Quote1:
----------------

 
if (dictget("switches","realtimeVideoFX","cpuclass","value") == 42) 
      cpuclass = 42; 
  else if (cpucount > 1 && cpuspeed >= 800) 
      cpuclass = 4 
  else if (cpucount > 1) 
      cpuclass = 3 
  else if ((cpuspeed >= 500 && (l2cachesize + l3cachesize) >= 1024) || (cpuspeed >= 733)) 
      cpuclass = 3 
  else if (cpuspeed >= 667) 
      cpuclass = 2 
  else if (cpuspeed >= 550) 
      cpuclass = 1 
  else 
    cpuclass = 0 
  end if 
-------------------

The different Mac's gets the following cpuclass tags:

CPU speed 0: If you got a G3 or a G4 below 550.

CPU speed 1: If you got a single G4 550 or above.

CPU speed 2: If you got a single G4 667 or above.

CPU speed 3: If your G4 is 500 and above AND your L2+L3 cache is 1 meg or above. If you got a single G4 733 or above. If you got more than 2 G4 Cpu's.

CPU speed 4: If there is more than 2 G4 Cpu's which run at, or above, 800 mHz.

CPU speed 42: For unlimited FX, only included for testing purposes.

Later in the Script the different 'CPUclass' power is specified by the following lines ( here for the DP800 on OSX):

Quote 2:
----------------

 
else if (systemversion >= 10) 
        if (cpuclass == 4) 
            // Dual 800 on OS X 
            measuredCostPerVideo = 4.8 
            costPerVideoStillNTSC = 1.8 
            costPerCompositeNTSC = 1.6 
            costPerOpacityNTSC = 1 
            costPerMotionScaleTotal = 2.6 
            costPerMotionOtherTotal = 1.9 
            dissolveCost = 1.8 
            wipeCost = 2.7 
            lumaOnlyCost = 1.3 
            chromaOnlyCost = 3.5 
            satOnlyCost = 1.2 
            formatConversionCost = 1 
            maxCostSingleStream = 21 
            maxCostDualStream = 20 
-------------------

The first 3 lines identifies the 'cpuclass'

The next 12 lines identifies the cost, or how much power is needed for the different tasks.

The last 2 lines defines the max. cost on the machine for both single layer and dual layer material.

This means that all the costs of the different tasks is added and if the result exceeds the max. value it will not play back in realtime.

Hmmmmm.....

It only took about 2 secs. to get the idea of doing my first edit to the script, which I did in BBedit:

I deleted all the lines in quote 1 and added the following in its place:

    'Cpuclass=4'

thereby giving all machines (including mine) the DP800 tag, and the result when restarting FCP3 was indeed more simultaneous realtime fx. My DP450 was suddenly a DP800!

Still Wanting more power I started tweeking the different values.
LOWERING the 'cost' and RAISING the 'maxCost' gave me even more power, and I ended up with the following:

Quote 3:
----------------

else if (systemversion >= 10) 
        if (cpuclass == 4) 
            // Dual 800 on OS X 
            measuredCostPerVideo = 4 
            costPerVideoStillNTSC = 1.8 
            costPerCompositeNTSC = 1.6 
            costPerOpacityNTSC = 0.5 
            costPerMotionScaleTotal =   2.6 
            costPerMotionOtherTotal =   1.9 
            dissolveCost = 1 
            wipeCost = 1 
            lumaOnlyCost = 1.3 
            chromaOnlyCost = 3.5 
            satOnlyCost = 1.2 
            formatConversionCost = 1 
            maxCostSingleStream = 30 
            maxCostDualStream = 30   
----------------

Quickly making a test project with three clips, both with 3-way colorcorrection, scale, position, opacity, and adding a title, the timeline went from this:

Before Tweaks

and into this:
After Tweaks

WOW! and it all played back in realtime!!!!!!!! (at draft quality)
No more 'not rendered'
Good luck!
Anders Holck Petersen "

Anders later wrote he's posted the modified scripts for FCP3:

" Having recently found out how Apple controls the amount of realtime features offered for your machine in FCP3, by simply editing a script, you can now download both the old original version and the tweeked one on my Idisk.

The address is:
http://homepage.mac.com/a_holck/FileSharing2.html
[Note: as of spring 2002 that URL is not valid - the mothership must have removed it. I do not know a source of the files now but the info on modifying them is here-Mike]]

The new script will simply remove the 'brakes' which restrict the level of realtime features on a particular machine.
There is no danger in doing this as you can always download the old script from my site to go back to normal, or you can back up the old file.

All you have to do is:

  1. Download the tweeked files from the 'old' folder on the above address.
  2. Copy it to the right folder:

On OSX:

  • ctrl+click the 'Final Cut Pro' application.
  • Choose 'Show package contents'
  • Navigate to: Contents/Resources/English.lproj/FXScripts/
  • Replace the old 'FCP RT Software DV Enabler' & 'FCP RT Software JPEG Enabler'

On OS9:

  • Navigate to: Applications Mac OS 9/Final Cut Pro 3.0/Plugins/FXScripts/
  • Replace the old 'FCP RT Software DV Enabler' & 'FCP RT Software JPEG Enabler'

Thats it!
Now you machine has no breakes, and you can stack 10 motion titles playing in realtime. If your machine cannot keep up it will now drop frames but the timing will still be perfect!

To get them to play without frames dropped just render that part.
Anders Holck Petersen"

Anders later sent the following Disclaimer:



    "DISCLAIMER:
    The script is just a modified version of Apples own script which were already in FCP3, there is no magic involved!

    It will not make FCP3 any faster at rendering!
    It will not make your computer any more powerfull!
    It might not even work on your machine reliable and possibly not at all!
    It just removes the machine-check that Apple has put in the software, and thereby opens up for all the fx.

    If your machine cannot handle the load it wil studder and drop frames, but it will give you a preview.
    Thats why I put the old script on my site, so you can try the modified version and if it does not work, just put the old one back.

    All I said was that I had success doing it, so please feel free to try it out, and if it does not work, or it gives you any problems, put the old one back!

    I have received some positive e-mails, even one owning a yikes 400 mhz which now can do real-time dissolves, but with frame dropping on long dissolves!"



I welcome other Final Cut Pro 3 user comments on this tip. [Note - I do not know any sources of the modified files now and did not make them (a reader did - his comments on mods are above for those wanting to modify the existing files.)



Click for USB Universal Drive Adapters!

OWC XLR8 SPECIALS!
(see full list)

= 3.5in HARD DRIVES =
1TB and 2TB HDs
2TB 7200rpm $179

= 2.5 in & SSD HDs =
SSD Drives, Notebook Hard Drives and DIY drive/case kit bundles

= MEMORY =
2009 Mac Pro kits, 2008-2006 Mac Pro FBDIMM kits, Upgrades for MacBooks/MacBook Pros/iMacs/Mac Minis!
Also ram for G5, G4 and G3 Macs from under $30!

= OPTICAL DRIVES =
Internal and External Superdrives/Blu-Ray drives.

= VIDEO CARDS/LCD/TV =
GTX 285 for Mac Pro, Radeon 3870s, LCD Displays, TV tuners and more.

= SOFTWARE =
Prosoft Drive Genius 2 (under $60), Drive Genius 2 + Data Rescue 2 bundle w/big discounts.

= WIRELESS =
802.11N/g/b adapters from under $20!

= CPU UPGRADES =
G4 7448 and G3 1GHz upgrades

XLR8YourMac.com T-Shirts
Support this site!


FasterMac.net
Internet Access


Mac Model Articles

CPU Upgrade Articles

Video/Card Articles

Storage Articles

Search Mac Drive Upgrades/Compatibility Database

Search the CPU Upgrade Database

Freq. Asked Questions


Recent Reviews and Articles:
Listing/links to recent articles, guides and reviews you may have missed.  Details

 
= back to www.XLR8YOURMAC.com =


= Other Site Topic Areas =
Systems | CPU Upgrades | SCSI | IDE | Video | Firewire | Audio | Tips/Misc | Mac OS Articles | FAQ


Copyright © , 1997-2010. All Rights Reserved
All brand or product names mentioned here are properties of their respective companies.

Legal: Users of the web site must read and are bound by the terms and conditions of use.