I've created a simple patch to read in a video, split it into two, and send it to two separate output contexts. (I've based it on Vade's playback optimization patches.)
The source video is 3500 x 437, encoded in Quicktime MJPEG at 75%. On a very fast computer, the patch runs at about 24fps even though the movie is encoded at 30 fps. It's a 2GB file that plays for five minutes, so I make that 7MB/s, which should not stress the hard drive (7200 RPM SATA) which I've tested at 50MB/s. Resource monitor shows disk reads averaging about 8MB/s, which seems reasonable. The CPU monitor shows a load of about 35% across both cores.
This is with a dual-core 2.8Ghz system - a quad-core 2.8Ghz system shows similar results!
So where is the bottleneck, and is there something I can do about it? At the very least, would like the 3500 x 437 file to play back at 30fps. At best, would like to play a bigger file, 6144 x 768.
I've attached a stripped down version of my patch below: