Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: movie in Ram?



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@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/email@hidden

This email sent to email@hidden
References: 
 >movie in Ram? (From: Julien-Robert Legault Salvail <email@hidden>)
 >Re: movie in Ram? (From: Christopher Wright <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.