ofVideoPlayer low framerate on Matrox Graphics cards

Hello ,

So for a recent show I am setting up, I wrote a simple video switching application in OF.

The setup:

The application will be used on two different computers, for 2 different video walls. One wall has 12 screens, and the other has 4.

The video content being played is Full HD 1920x1080, and I have tried motion jpeg, photo jpeg, and h264 compression. (all have about the same fps result)

Here are some specs of the machines, which are identical except for the graphics card.

intel i7
7200rpm Sata HD
3GB ram

The 12 screen PC has 1 Matrox M9148 and 1 Matrox M9188.

The 4 screen PC has 1 Matrox M9148.

In the beginning I had the same problem that was mentioned here before about the M9140 (opengl textures rendering as one big even color, the first pixel applied over the whole texture), so I updated the OS to Windows 7, which fixed the problem on the 4 screen PC,but it didn’t work for the 12 screen PC. It turns out though that the real fix was to call OfDisableArbTextures() Arb textures were the problem so everything is rendering fine after that , except…low framerates.

The 12 screen PC runs at a pitifully slow 11fps. The 4 screen runs around 18fps. The CPU is only running at about 12%, Ram is only about 1/2 active, and HD reading seems just fine.

When I play back the videos in quicktime player the vidoes play smoothly about 30fps.

Does anyone have any suggestions of how I could improve the speed? I suspect the graphics cards are the bottle neck, but of course changing the graphics cards to something else, would a very expensive last resort.

I am tempted to try Gstreamer, but does it play back the audio as well like quicktime? Also any chance it would be better?


When you say the videos play back at 30fps is that across all screens?

What frame rates do you get if you playback video with just a single screen?

GStreamer may be worth a try… and yes it does support audio.
However it’s strange that you are getting the same frame rates for motion jpeg and H264, which may point to the bottleneck not being related to the video codec but something else, perhaps hardware related.

Hi Grimus,

Yeah, so with the quicktime player its about 30fps, whether fullscreen or just one screen. With my OF program, there is a slight difference. So with 1 screen it plays around 18fps, and with all screens (12) it plays around 10-12fps. Nether one is fantastic. I am pretty sure these days the problem is probably hardware related. What i find most perplexing is that the CPU usage is only 12%, could it be that quicktime is off loading the video playback to the GPU, but the GPU can’t handle it? Or perhaps its the opengl textures in OFVideoPlayer are causing problems (framebuffer bottleneck?) for the GPU? I think opengl support for these cards is not particularly great. Anyway I have no real conclusion yet, just running the videos at a low framerate. Perhaps at some point I will upgrade to some ATI HD 5870 eyefinity 6 cards which might take care of the problem. Anyone have experience with these cards?

1 Like