Better FPS when using still images

benjohnson's icon

I've created a demo for an installation and have combined both still images and movie files, but the still images really tend to slow the performance of my system down.

Both the image files and the movies are going through the same processes:

colormode UYVY, 1280 720 dimensions
into a slab using the 'cc.uyvy2rgba.lite.jxs' shader
then into a second slab which changes the alpha value of the movie/image.

anyway, the still images slow down the system alot more than the videos, is there anything that I am missing out that could make it perform better?
I can post a patch if needed, it just seemed unnecessarily large to post it.

Cheers for any help.
Regards,
Ben

i.m.klif's icon

perhaps images are bigger then 1280x720 and you have @adapt 1 argument
for jit.qt.movie enabled??

Rob Ramirez's icon

couple things to make sure of.
your qt.movie is stopped (@autostart 0).
you're only banging the qt.movie to the texture ONCE at initialization.

beyond that, it's anyone's guess.

benjohnson's icon

Sadly stopping the jit.qt.movie and only sending it once doesn't do the trick. As I'm using a jit.ql.render, it's being erased before re-writing the Window.
The images are also smaller than 1280x720 for now anyway, they will be exactly that size when it is performed.
I'll keep trying, I think using autostart 0 worked a bit, it's running at just under 30fps which sounds fine, but it just seems too choppy.
Regards,
Ben

Rob Ramirez's icon

that's because you're doing something wrong.
post a patch.

benjohnson's icon

OK then, here's the patch. This is one of the sub patchers that displays the images. The only difference between the subpatchers for the images and the ones for the videos is in the arguments.
Video has @unique 1 @adapt 1 @colormode UYVY.

Cheers for any more help, I'm sure its probably something small that I'm doing wrong.
Regards
Ben

Rob Ramirez's icon

all i'm saying is to disconnect the t b from the jit.qt.movie.
just bang the qt.movie once after the image is loaded. this gets sent to the gl.slab, which stores the image as it's internal texture. after this initialization, you only have to bang the gl.slab object every frame, and not the qt.movie.

benjohnson's icon

Brilliant, didn't have a clue the Slab stores the image.
Cheers for the help, worked a treat.
Regards,
Ben