MainLoop settings

hello fellow patchers

the coding of our current fulldome project is well on its way, but a small thing keeps bugging me. its about the frame timing and the mainloop node.

there are no video playbacks, so no worries for that. it is just a massive bunch of moving particles and collada geometries with various shaders. perfmeter tells me its almost only the gpu that limits the framerate (to around 25-30 depending on particle count).

if i use raw, it stutters and shakes, so that’s no option at all.

if i use increment and set the fps to 50, things go smoothly enough, but there are minor glitches that are still visible to the eye. another issue is, that animation timings are not precise to to their settings.

if i use filtered, things go very smoothly if it weren’t for the weird things the lfo’s are doing- they sometimes jump ahead and i believe even back in time (i’ve been using lfos all over the project).

maybe you guys have a better conceptual understanding of this for whats the best option?

edit: the hickups in filtered seem to come from aperiodical gpu peaks

helo velcrome,

sory for the delay. you hit a vveak spot with that question. i was not sleeping for 2 weeks and finally i came up with a thing we always tend to forget. you mentioned:

  • there are no video playbacks, so no worries for that.
    good. videoplayback in vvvv is always the source of all evil. if you look at the Device (EX9 Auto) you’ll see a pin called: Multithreaded which is on by default as it is needed for videoplayback. if you have none (and i am not sure at the moment if it would also be related to loading filetextures in the background) you can turn multithreading off and hope and see…and report back here if you think it helped.

  • it is just a massive bunch of moving particles and collada geometries with various shaders.
    concerning drawing a large number of geometries, i already mentioned that there is this technique called ‘instancing’ that can help in some scenarios. still i didn’t have the time to describe that in more detail yet. i gave my uncommented patches to some people here though…where are you? maybe they can help… a bit on that…

can you tell us a bit what you did colladawise? we haven’t heard much feedback yet about it.

  • if i use increment and set the fps to 50, things go smoothly enough, but there are minor glitches that are still visible to the eye. another issue is, that animation timings are not precise to to their settings.
    mja… i’d say increment mode is only for non-realtime rendering.

  • if i use filtered, things go very smoothly if it weren’t for the weird things the lfo’s are doing- they sometimes jump ahead and i believe even back in time (i’ve been using lfos all over the project).
    maybe tonfilm can say something about this…

  • maybe you guys have a better conceptual understanding of this for whats the best option?
    no. a stable mainloop is always the hardest part to tweak and takes a lot of manual tinkering with a system…it is hard to give more general advice here.

hi joreg,

thanks for the hints.

the project is up and running, and its very stable with around 28 fps. one thing that helped a lot was setting some intermediate renderers to “wait for 1 frame”. seems that this caused the hickups.

mainloop runs in filtered mode now, i used some integrate-nodes instead of the lfos to prevent the jumps that occured earlier.

collada is awesome. we have about 45 meg of geometry data in collada files, some animated, some spreaded and some plain and simple. it all performs extremely well and even more reliable then the old XFile.

*velcrome