Struggling with low FPS on Raspberry Pi 2


I’m using a Raspberry Pi 2 to make a video player, full HD videos.

Everything is working quite OK, but I struggle with my app FPS, everything is not as smooth I would expect.

The app FPS is around 22FPS. I use ofxOMXPlayer as my video player so the video should be GPU decoded.

I tried to improve stuff using a frame buffer (ofFbo) but is is worse. I then tried to move the videos on a usb stick since it seems the usb bus is faster than the sd card one. Doing that I gained like 2FPS.

But still, I cannot go further than 22FPS and it annoys me.

Any idea of what can I do?

You can check the code here:

It is the first time I use openframeworks, so maybe I’m doing a newbie error?



Hm … how do you have your videos encoded and what size are they?

It appears that you are doing everything right – though one quick check – if you remove


every draw frame – does that change anything?

Thanks for the answer, this is something I added after noticing the problem.

Maybe I could do it in a smarter way, but I think it is not related to my problem.

My video is a 20Mo mp4 (h264 + aac) 1920*1080.

A thing that would be nice, is that I could try a full hd video that has no low fps issues, so that I can confirm it’s the encoding of the videos and then I will be able to re-encode mines accordingly.

Do you have any link to a video that has no fps issues?


The issue I was running was that the default mode is the textured one, this one runs smoothly only with 720p videos.

I disabled it with the following:

ofxOMXPlayerSettings settings;
settings.enableTexture = false;

And everything seems ok now.

1 Like

ofxOMXPlayer can’t use a texture when playing back 1080p videos. Well you can but you get a very bad performance.
If you need to access the texture you will have to use 720p videos.

E: nvm, overlooked your last post

1 Like