|
| real time engine info |
 |
Mon, 12 Mar 2007 17:41:43 +000 |
Hello,
I'm looking to gain a bit more insight into the real time engine. I'm using
MB7.5, and using Open Reality to interface with my motion capture device over
TCP.
First of all, why can't I use blocking TCPIP calls in my device? I tried just
for kicks (I know the comments in the samples suggested otherwise) only to have
the sample rate shoot up into the 1000s of samples/s, and the GUI become prone
to freezing.
Even with the non-blocking calls in place, it seems like the real time engine
adjusts itself to the rate at which new data becomes available... to the the
point that if my device is generating time information, I need a line in my
FBDevice::FetchDataPacket() function saying
if(oldTimeStamp==newTimeStamp) return false;
[where oldTimeStamp is the timestamp obtained during the last call to this
function, and newTimeStamp is that of the the current call].
Otherwise, I get similarly strange behavior. With this code in place, the
samples/s meter in MB correctly tracks the sample rate of my device (this is
correct, right?)
I kind of figured this out by trial and error, but was wondering - is this
documented anywhere?
In general, I've found the documentation lacking and at this point I'm trying
to get a better idea as to the inner workings of the real-time engine, or least
find a resource that will explain things to the extent that I won't have to use
trial and error to solve problems.
Can anyone help me out?
Thanks,
|
| Post Reply
|
|
|
|
|
|
|
|
|
|