I have a toe file running at about 45 fps on a quad core computer.
I’ve created a RAM drive in an attempt to save my movies without the overhead of writing to disk, but when I start recording, basically then just adding the cook of a select video and a select audio to feed into the record top, my fps drops to about 25.
I’m writing in motion jpeg B, which seems the fastest after raw format (raw is just too big for my ram drive, and anyway with raw I’m at about 27 fps).
I know that conversion and all takes time, but I’m wondering what’s Derivative’s take on this, whether or not you guys think that things can be improved, or you’re so relying on quicktime’s libraries that you’re writing just as fast as QT allows or if you think there’s room for speed improvements (i.e. maybe streaming formats or other faster formats?)
I did quite a bit of work speeding up the MovieOut TOP for Mixxa a while back. I moved a lot of work onto another thread to take advantage of multi-core systems. Also the frame data is downloaded asynchronously from the GPU to avoid that impact. Greg has reported that recording video on a quadcore system has almost 0 impact on Mixxa’s playback.
Whats your CPU usage at when you are recording the video? What resolution are you recording at?
my cpu is about 22% when viewing the show, which is one cpu of the 4 at almost full speed. It goes up to about 36% when recording.
the cpu graph seems to be spreading the load fairly evenly between the 4 cores.
as for threading the recording elsewhere, do you mean create another instance of touch to which we touch out (which currently is broken when it comes to transfering audio and derivative isn’t going to fix it soon it seems)?
Well, I mean I’ve already multi threaded it internally and automatically (which is why you see other CPUs take on the work when recording), so no you don’t need to use Touch Out.
What does the performance monitor say when you are recording? If you click the Monitor button on the performance monitor, turn on the ‘Graphics Time’ option and maybe that will help point to what exactly is slowing things down. What is taking the most amount of time?
the movie out takes 16.363 ms
6.274 ms gfx downloading texture data from GPU figures 3 times (among the big hitters) (the other have 3.155 ms and 1.483 ms)
I;m attaching a (slightly different values from another batch) stat.txt
Two of the downloading texture data entries would be from the Trace SOP. The 3rd is from the MovieOut TOP. I assume the smallest of the 3 is the MovieOut.
At present I think I’ve squeezed as much performance out of Quicktime that I think I can. So to answer the initial question, yes we are pretty reliant on Quicktime as far as speed is concerned. We are actively looking at other libraries to give us more speed and allow for more formats though, but it’s not a high priority just yet since we are focusing more on UI improvements right now.
The 16 ms cook is a little suspect on a fast machine but it’s hard to tell from here. How fast as it before you started using a RAM drive?