View Single Post
Old 09-19-2008, 09:41 AM
michaelrepucci michaelrepucci is offline
Join Date: Jul 2008
Posts: 53
Does the vrpn7.dle tracker plug-in clear the udp buffer?

I'm experiencing strange lags between my visual image and my HiBall head-tracker, which uses VRPN 7.15. I suspect these delays are due to something on the HiBall/VRPN side of things, since the Vizard frame rate is constant.

However, when I looked at the VRPN support page, I found an interesting troubleshooting note that I couldn't answer, since I didn't build the vrpn7.dle plug-in. It says:
The tracker reports always lag way behind (about one frame time).

Trackers use unreliable (UDP as of 2/24/98) transmission for their updates. They report these updates at some frequency, perhaps 60-100 times per second. If the application does not call mainloop() on its vrpn_Tracker_Remote object frequently enough, the incoming buffer fills up and some of these messages are not delivered. Unfortunately, UDP discards the later packets and keeps the oldest ones. This has the effect of introducing latency equal to the application's main loop time when that time is much slower than the tracker report time. To get around this, the application should make sure that it gets a new report each time through its main loop. It can do this by purging all of the old reports (through a call to mainloop()) and then reading until a new report comes in. A code fragment showing how this might be done is given on the tracker page:
So, to whomever built the VRPN plug-in at WorldViz. Were you aware of this issue, and is the plug-in calling mainloop() "frequently enough"? Namely, can I safely assume that this is not the source of my error, and proceed with independently trying to debug/tweak the HiBall system that I'm using?
Reply With Quote