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]