bigbluebutton lag with freehand tool

215 views
Skip to first unread message

nekapoor

unread,
May 31, 2015, 11:21:18 PM5/31/15
to bigblueb...@googlegroups.com
Hello! We use BBB to host our 1-on-1 tutoring sessions and it's been awesome!

However, one of our tutors did mention that she feels like there is a clear lag when using the freehand tool, especially when she tries to write quickly (with maybe a wacom tablet or something).  She tried this on demo.bigbluebutton.org and there seemed to be a noticeable lag.  Now, tutoring is still great, but it can always be improved! 

So I thought I'd ask the question: I'm wondering if this lag is just an architectural thing where because we're recording every event that it's just the nature of how this functionality will be or if there is something we can do to improve the response time in any way?  I'm assuming there isn't really anything we can do, but just thought I'd throw it out there. 

Thanks so much!


Chad Pilkey

unread,
Jun 1, 2015, 10:54:27 AM6/1/15
to bigblueb...@googlegroups.com
I haven't looked at the presenter code in a while, but if my memory serves me right the following is true.

The way the annotations work is that the presenter right-clicks and moves their cursor around the presentation. The code in the background determines which whiteboard tool is currently selected and how far the presenter has moved their cursor. The information is packaged up and sent to the server. The server receives the information and processes it. The processing consists of recording the events for playback later and broadcasting the new annotation to all of the clients. When the client receives the annotation it is displayed. Even though the presenter is the one drawing they don't see what they've drawn until it is returned from the server. I think most of the delay in drawing is just the time it takes for the information to go to the server and come back.

A more responsive way of doing the drawing would be to immediately add the annotation on the presenter side and then when the annotation comes back from the server double check that the values sent from the server are the same as the ones locally. This is the approach that most online video games take for things like player movement. You move the character first and then if the server's return is different you update to the new value (rubber-banding). I'm not sure if this is feasible in the current architecture or not. I'm not sure where the annotationID is attached or if we would have to add a version number to the annotation.

Another possible cause of delay is if the debug version of Flash Player is installed. There are a lot of debug lines being written to the file system in the whiteboard code and it causes a noticeable lag on some machines. It's a highly unlikely on an end-user machine.

nekapoor

unread,
Jun 2, 2015, 6:08:53 PM6/2/15
to bigblueb...@googlegroups.com
Thanks Chad!

Is this sort of implementation in the roadmap of BBB? Or do you know if someone else is working on this sort of implementation at all? 

Thanks!

Chad Pilkey

unread,
Jun 2, 2015, 6:38:01 PM6/2/15
to bigblueb...@googlegroups.com
I don't think so. You could submit a feature request on the issue tracker for it. I don't even know if it is feasible or how difficult it would actually be to implement. Those were just my thoughts on how we could approach it.
Reply all
Reply to author
Forward
0 new messages