[Bf-committers] Screen-cast issues

Andrew Green greeniekin at gmail.com
Tue Sep 28 07:42:04 CEST 2010


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?


More information about the Bf-committers mailing list