switching 8 movies over 8 displays

Steven Jouwersma's icon

Hi,

I'm working on an installation with 8 projections and 8 movies. the movies are switched around the screens. the movies should just keep playing only changing from output.

I'm fairly new with performance setup and open GL,

So i made a patch, and after collecting some computer screens from friends i did a test drive with all 8screens and first all looked good. ultra fast switching of movies and normal FPS.
but when messing around with the jitter screens going from full screen to window) I had some serious crashes. grr

Guess it has something to do with my video switching.
I switch the output of the QTmovies with simple gates.
to the different textures.

take A look, maybe you have some better ideas.
about switching the movies arround.

maybe use direct window instead?
i'm looking at poly,moviebank,shared_context,slab, and Vade's
examples right now.

ok. thanks for reading
a few directions would be great.

Steven.

Two 2.26GHz Quad-Core Intel Xeon
4x NVIDIA GeForce GT 120 512MB
12gb ram

here a screen shot how it looks
cheers!

Rob Ramirez's icon
gpvillamil's icon

The thread listed above, especially vade's detailed post, is very very useful.

I had a similar situation, where I was driving three separate outputs. The patch would start with all windows on one monitor, then move all windows to their output monitor, go fullscreen, and start playing.

This sequence is absolutely key: if it started playing with all windows on one screen, then moved them, then fullscreen, CRASH.

If it moved the windows, then started playing, then fullscreen, CRASH!

Only reliable (and so far, totally reliable) sequence was to put the windows on their right output, fullscreen, and then start playing.

Also, while it might be tempting to move movies from output to output by changing the coordinates of the jit.window, it is best to leave the jit.windows on a specific output, and just change the movie that plays to each one.

The reasons for this are very clearly explained by vade's post.

Steven Jouwersma's icon

Thanks for the responses!

Yess moving the windows to the right screen/gpu before hitting qmetro is essential for using GL.
That i do.

I have to switch 8 movies of 1 GB each,
switch them from screen to screen FASt.
I've used the recommended 640 480 photo-jpeg 75% codec 24fps

I load 8 movies in 8 qt.movies.
and switch the matrices around to 8 textures. this gives me the best switching results. You can see a screen shot from my first post.

I have no crashes anymore, i guess i touched one of the window settings accidentally, and kaboom.

I have 11 FPS and that's too slow. fps goes down to 6...
I tried Vade's examples with a uyvy to rgba jit.slab (GPU uyvy patch) and there the switching around of matrices gets problematic. 1fps
i think it doesn't work with fast changing matrices.

When i use Poly i need to load 8 times 8 movies. then i would be able switch properly and use more gL power but i seems to be too much movies too load.

8 movies that need to play continuously and switch them over the 8 outputs... maybe jit.scissors and one big movie?

I tried to use a Ramdisk but that got me into trouble.
How can i use more RAM? with loadram i can't see the RAM usage on my activity monitor. i seems to be even slower.

I'm learning a lot! any ideas to improve?
made a screen shot of my patch using the vade example.
i don't have the deeep GL understanding yet, so tell me what i'm doing wrong here.
Steven.

Jan Klug's icon

hoi steven,

it's easier to help if you post the max patch instead of the screenshot, as people will then be able to try out and modify your patch directly (although probably not everybody will have 8 friends with an extra monitor, or one friend with 8 extra monitors).

let me know where you're checking the setup, and i'll pass by...

doei,

jan

Steven Jouwersma's icon

Yo cool jan
i'll make some koffie.

Well testing along, i used the first patch again, the more simple one, with movies of 320-240. that worked nice 60fps. and switching on the frame. cool but a bit too blocky movies.

I would like to use 640 480. i tried and got around 10 fps
why?
i have 12gb ram, but apparently i'm not taking advantage of that.
loadram doesn't do it.

the more nifty Gpu part gets me into trouble and worse results.
the switching around part seems to be a bad combination.

When using bigger movies, the Cpu goes up to 102%
now running the patch with smaller movies 90 / 95%

here's the patch! (the simple one)
(stripped down to the video part only)
(there's a detection part that makes the movies switch)

Jan, welcome! I'll drop you a line tomorrow

gpvillamil's icon

If you are on Apple platform, try encoding using ProRes422. I had better results with that than with PhotoJPEG @ 75%.

Also, if you have multiple hard drives, try distributing the movies among different drives.

What kind of CPU are you using?

Steven Jouwersma's icon

I'm on a mac,
with

2 x 2.26 ghz Quad xeon
12 gb 1066mhz ddr3

hmmm i have an extra firewire800 harddrive, might help...
thanks!

Steven Jouwersma's icon

this patch down below

made after looking at Vades examples keeps crashing my GPU
now testing on 3 screens 3 different gpu's

After loading the movies, and putting windows at the right spot.
I start the qmetro and things go wrong. even after quitting maxmsp
my os x is confused. and i have to restart the computer.

generalh's icon

May be you should try
jit.qt.movie->jit.gl.texture->jit.gl.slab->jit.gl.render
and use messages like
use texture hop1,hop2 etc...
but i didn't make any try so if someone else has a better advicxe
Cheers
Hubert

generalh's icon

and it's not adept but adapt1...