So how does wait for frame work then?
I’ve tended to use mainloop to limit fps to 25 and use increment timing as this seems to give the smoothest playback, so should wait for be set to 1 or should I use a high mainloop rate?
I’ve just opened my pressy early, sorry!
But am not getting great frame rates, its smooth but inspector says 18-20fps, changing the wait for frame doesnt seem to make any difference!
Of course it could be the frame rate average being reported differently?
Graph loading seems faster though!
the short story about framerates and videoplayback (i’ll try to sum that up on a wikipage later):
playback of video can only ever be smooth when the video plays with a multiple of the framefrate of the monitor. consider your video has 25fps then your monitor has to be set to 25, 50, 75 or 100hz vertical refresh rate.
second. when playing back video let the mainloop nodes foreground fps at 120 because you’ll throttle the overal framerate via the videotextures “Wait for every Nth frame”. setting mainloop to filtered mode could be a good idea though (that is usually only annoying during patching).
make sure that without playing back your video (mmh…means without the videotexturenode present in the patch - because as soon it is there it is already taking influence) the scences framerate is higher than the videos framerate. if it is not you’ll have no chance to playback video smoothly.
viertens. understand videotextures “Wait for every Nth frame” like this:
if you have your video at 25fps and the monitor at 50hz you’ll want the renderengine to wait for a video frame every second frame it renders the 3d-scene.
if you have your video at 25fps and the monitor at 75hz you’ll want the renderengine to wait for a video frame every 3rd frame it renders the 3d-scene.
if your video is at 50fps (like deinterlaced pal video) and your monitor is
at 50hz. you’ll want to wait for every (1) frame.
the challenge is now open to find a better name for that pin!
if you don’t care about the video playing back smoothly you can still set “Wait for every Nth frame” to 0 and throttle the renderengine via Mainloop. no throttle will likely cause the videothread to starve when you are in fullscreen.