I have been playing with the blender screen-cast functionality. I have noticed the timing never seems right for me. Even when I modify the settings for screen-cast to represent what should be a real time recording. It is off by a lot. if i record for 30 seconds i will get 15 or 20 seconds video from it.
I think it's due to a couple of things. After it has written one frame it will simply sleep for x ms and then write the next frame. I'm pretty sure when it sleeps it will overshoot. Also there is the extra time to actually save the frame. This makes it worse over time. There is also the possibility that an image has not been grabbed yet(which is done separately by the job manager) when the loop resumes which means it will go and sleep for an extra x ms. I really haven't given it much thought. Would it be the best idea to get the system time when recording is started. Then use this to determine when a frame should be written. This way a frame may be saved slightly off time. Though the results wouldn't accumulate and throw the results completely off. Heres what i was thinking in a tiny bit more detail. It's simple plus if there is a system pause for 1 second when many frames should have been written it will write those frames and make sure the time match of the video and the real world. diffTime=currentTime-startTime; if(diffTime>=framePause){ saveCurrentFrame(); startTime+=framePause; } Would you guys agree that this is the cause of the issue? Do you guys feel this is sensible solution for me to implement? Or do you think I am crazy? _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers