On Feb 27, 2008, at 7:41 AM, Christopher Wright wrote:

I want to read a movie in loop (approx. 3 sec.) amongs others synthetised images. When I start the movie (dv compression, 30 fps, 720x480), I'm seing the frame rate lowering (about 15 fps instead of 30 without the movie playing). I checked my processor and it's still not very hight (about 40%). I presumed that the diskdrive reading the movie would slow down the frame rate?

You can try setting "Synchronous Mode" on the Movie Loader, and see if that helps. Some tests show that this setting may improve QT's movie caching stuff.

So, I wonder, is it possible to put my little movie directly in RAM to avoid to read it from the hard drive?

There's some way of making a ram disk. I don't know how in OS X, but people have mentioned it, and I'm sure there are docs on how to do it.


I just completed some tests on a very similar setup, and here's what I found:

Movies loading from hard disk:
  * Movieloader Asynch mode off : ~20 fps
  * Movieloader Asynch mode ON  : ~30 fps
  * Movie's "cache hint" ON     : ~33 fps

Movies loading from ram disk:
  * Movieloader Asynch mode ON  : ~40 fps
  * Movie's "cache hint" ON     : ~43 fps

As mentioned before, I think it's odd that QC is so un-aggressive about caching entire movies (and/or individual movie frames).

So the best performance is given with a combination of:

Movie:
  use as few pixels as possible (e.g. 640x480 or lower, if
    quality is ok)
  use a hiqh quality, low-CPU codec such as Motion JPEG / High
  enable the movie file's Cache in RAM hint
    (open in quicktime player then apple-J, then select video track)

Movieloader :
  enable Asynch mode
  disable high quality
  disable deinterlacing

RAMdisk:
  use one!


Here's a script to create a ram disk.
Save this as a text file, chmod 755, and then run from the terminal:

#!/bin/sh

if [ $# -ne 1 ]
then
echo " Usage: newRamDisk.sh <size in MB>"
echo "Example: newRamDisk.sh 20"
exit
fi

if [ $1 -lt 4 ]
then
echo "Error: Size must be greater than or equal to four megabytes"
exit
fi

volName="RamDisk$1"
ramDiskSize=`echo "${1}*2048" | bc`
echo "Allocating $ramDiskSize blocks"
mydev=`hdid -nomount ram://${ramDiskSize}`
echo -n "Create/erase HFS Plus filesystem named $volName on $mydev"
diskutil eraseVolume HFS+ $volName $mydev
exit

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to