Non-fluent HD video

Javier Gomez's icon

I have a system with one monitor and three HD 1080p projectors. The computer is a Mac Pro 4 cores and 8GB RAM and two graphic cards with both miniport (dual link) and DVI (The computer was bought four weeks ago, so it is really new and powerful). I implemented the MAX/Jitter routine using @colormode uyvy and jit.gl.videoplane to send the process to the GPU. In theory, the videos should be played fluently ( and it happens if I do the same directly with QuickTime) but they are not fluent. The patch is: jit.qt.movie 1920 1080 @colormode uyvy to open the video file. Then I fill a jit.matrix 4 char 1920 1080 and from there I crop the image using jit.submatrix. The result is sent to jit.gl.slab @colormode uyvy and then to jit.gl.videoplane for render and visualization. I was trying different configurations (like without cropping) and always obtaining the same result. If I use @colormode argb it is even worse. The patch is uploaded to check it.

Does someone know what is happening and how to fix it?

Thanks

963.Audivisualsystem2.maxpat
Max Patch
angela's icon

if you are on mac os 10.6 and max 5.1.4, jitter is not supporting multiple gps correctly.
in most cases the fullscreen message to move a window on the second gpu
gives a result of 5-10 fps.

you can try 4 things:
- use the rect message to move th window to the second screen
(es early as possible in your patch)
- cut on pixel on the right side
for example, if your 2nd monitor is:
rect -1920 0 0 1080 try to use this: -1920 0 1 1080
- send a border 0 and 500 ms delayed a border 1 message
- type "; jitter glreadback fbo" in a message box and click it

one of these combinations will help.

i hope someon at cycling is working on this.
it is very important for many of us to use more tan 1 gpu.
perhaps they did not test on computers with more than 1 gpu.

mac os 10.6 is one year old and still unsopported ...
we are wasting our time implementing useless tweaks.

by the way: open frameworks does not have these bugs.

a.

Javier Gomez's icon

Thank you! I'll try those combinations.

Cheers!

Javier Gomez's icon

After I tested those combinations it doesn't get the fluent video. With the rect message it seems to be slightly better, but not enough.
You was saying that MAC OS 10.6 is not supported. Could be better if I install an older version of MAC OS ?

angela's icon

to check, if your operating system (gpu implementation) is the limit,
you can make an application, which plays one single movie on the second gpu. then check the fps.

if the gpu is not the limit. you also should check the bandwidth of your harddisk. (using the system monitor)

there is another serious bug in the jit.qt.movie.
if you set the autostart attribute to 0 your bandwidth is limited.

if the harddisk is the bottleneck, you can use a raid 0 with 2 disks.

angela's icon

on more thing ....

if one application is running well, you can make one application for each player connected via osc.

Javier Gomez's icon

I tested only one projection (one graphic card for the monitor and the other for projection) and the video becomes smooth but with some drops after a while. The Hard Drive has a maximum peak of 3.1MB at the beginning and then stays between 2.1 and 1.5 MB so it doesn't seem to be so high.
Do you think that the NVIDIA GT 120 could be part of the problem?

I'll check the fps but I can say right now that it is around 10 when using three projection.

Thanks again for your help

siroptinmar's icon

if you need to split your 1920 in three screen, just forget the jit.matrix and the jit.submatrix . Direct connect your qt.movie in your slab or in gl.texture.
then create 3 context with 3 videoplane,3 gl.render and 3 jit.window , use the same texture for videoplanes and set 3 camera settings for both rendering.
use the rect and floating attributes of jit.window to set your fullscreen position.
For big matrix, don't use matrix traitement if you could.

Ciao

Martin