jit.world @output_matrix 1 = from 60 fps to 15
Hello,
I'm currently trying to render a project (audio and visual) of mine to present it.
Visual parts are regrouped in a jit.world
, and audio parts are usingvbap
.
Within a couple of hours of documentation I finally got my setup.
I'm using jit.vcr
, i'm plugging adc~
's outlets in vcr
's 2 first inlets, and plugging the third one with the matrix from the world.
Rest is in the title. Recording maintains a decent framerate, (~-5 fps), but even without recording when I'm enabling @output_matrix
I get a terrible framerate. Which is even worse than it sounds considering most of the events are synced with framerate.
My genuine analysis is that the output sets the matrix from GPU to CPU which is why it's such an heavy work. The window doesn't have any problem to display the visuals.
I'm going to try using the @drawto
attribute and an asynchronous buffer, but as far as I remember asynchronous buffer, even if lighter, doesn't work very well.
Is there a better way of doing this ? Perhaps using nodes or something ?
EDIT : So after few tests, @drawto
+ jit.gl.asyncread
are helping but I'm still not going over 25 fps. The drawing don't have any effect, however accessing the buffer just kills it.
Size of the matrix seems to have an influence too. I'm recording a big matrix in 32:9 - 3840 * 1080. But adapt project to a smaller size doesn't seem doable.
And I just noticed that it was not recording sound.
If you're on Mac you can try using @output_texture 1 from jit.world and using jit.gl.syphon and Syphon Recorder to record your video http://syphon.v002.info/recorder/
The equivalent for Windows is called Spout, I don't know if there's any "Spout Recorder" or similar
I'm on windows, I'm gonna take a look at it. It's not a really satisfying solution. I'm pretty sure this happens because of a transition from GPU to CPU (and probably to GPU again to record the render). It would be much simplier to have a displayless rendering solution.
So basically you're saying that your built in record functions are not optimized enough and that you rather us using external tools such as shadowplay/xbox record/obs (even syphon and spout) ... As I mentionned above it's really unsatisfying.
Everytime I'm struggling with performances on max 7 I see that if there is an easy solution it will be unoptimized, but when you need to gain 5 fps, good luck on browsing 2007-13 posts on the forum for 5 hours.
Anyway, thanks for the answer.