WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

Thread Tools Rate Thread Display Modes
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
Old 09-19-2008, 10:19 AM
farshizzo farshizzo is offline
WorldViz Team Member
Join Date: Mar 2003
Posts: 2,849
The mainloop() function is called every frame, which is about 60Hz on most machines. This should be frequent enough. How fast is the HiBall outputting data?
Reply With Quote
Old 09-19-2008, 10:22 AM
michaelrepucci michaelrepucci is offline
Join Date: Jul 2008
Posts: 53
Well, we're running at a frame-rate of 120 Hz, but I assume Vizard still calls mainloop() on every frame. The HiBall is currently sending UDP reports at 144 Hz, but changing this number doesn't seem to help one way or the other. Anyway. At least it's not Vizard, as I suspected.
Reply With Quote

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -7. The time now is 10:54 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2023, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC