Closed for Company Meetings: Between September 18 (5pm PDT) and September 22 (12pm PDT), Support and Sales requests will be delayed. Only time-sensitive issues will be addressed during that time. Thanks for your patience.
The problem is you are sending the fullscale video many times to the GPU. For each rendering context you can just use one jit.gl.texture contextname @colormode uyvy to send to multiple videoplanes in the same context. This way you transfer the memory (expensive) once for each context rather than five times, and that texture is used by the video planes (cheap).
If you are able to used shared contexts (not sure on your setup if they are both on the same card). Then you should be able do something like jit.gl.render output2ch @shared_context output3ch, and just use one jit.gl.texture to send to all five videoplanes. This would be your fastest option if you are not using multiple graphics cards.
OK, adding two jit.gl.textures (one per output context) before the jit.gl.slab led to an improvement, but it is still slower than the jit.scissors approach (maybe 60% of the fps).
Having the jit.gl.texture feed into a jit.gl.slab (two, one per output context), and hence to the videoplanes (five, one per output channel) got speeds back up the same level as jit.scissors. This is *without* @colormode uyvy in the texture.
Removing the jit.gl.slab entirely, and having the jit.gl.texture @colormode uyvy feed the videoplanes led to a drop in framerate. It seems that using the cc.uyvy2rgba.lite.jxs shader in the jit.gl.slab is faster than using @colormode uyvy in the jit.gl.texture?
I think maybe I need to use td.resample.jxs to cut out the slices before sending them to the videoplane...
Yes, definitely on windows, cc.uyvy2rgba.lite.jxs will be much faster. I didn't examine your patch heavily. Just use one jit.gl.slab for each context (or one if you're sharing), and send the output texture to the repective videoplanes. I doubt that you will get much boost by using td.resample.jxs.
Thanks, everything is working well now. Sending the output of the jit.qt.movie directly to 2 jit.gl.slabs, and from there to the 5 videoplanes, seems to work well. The jit.gl.texture seems to be unnecessary, though adding it to the chain makes little difference.