bugs in windows timer callback function

0 views
Skip to first unread message

sylvi

unread,
Mar 29, 2007, 12:31:09 AM3/29/07
to NAVER based on OSG

I just found yesterday (March 27) when we tested domino demo in CAVE
with multicluster there is a bug in NAVER modules.
The problem is nvmVRPNClient module can not get the force values that
are sent by nvmVitualPhysics module.
When we run standalone application, everything works fine.
But when we use multicluster, we use shared state in
nvmVirtualPhysics.
When I put update frequency for nvmVirtualPhysics shared state 60 and
update frequency for sending the force values to the device 60. The
device module can not get the force values.
I investigated this problem, I think it is caused by the windows timer
callback function because if we didnt use windows timer callback
function and just put the code inside the frame function (60Hz),
everything works fine.

I will try to fix this problem and give you an update later..
any suggestions are welcome.


sylvi

sylvi

unread,
Mar 30, 2007, 9:29:43 AM3/30/07
to NAVER based on OSG

I have found what caused that problem : update frequency will affect
the performance.
If it is too high, other callback functions may never been called.

This configuration is the maximum update rate that we can use in CAVE
computer.

<module class="nvmVirtualPhysics" id="physics"
simulation_factor="4" ... >
<cluster updateFrequency="500">
...

<module class="nvmVRPNClient" id="VRPN">
<device id="Spidar" name="Spi...@161.122.38.198"
updateFrequency="500">

it means update for physics will be called 500Hz. and update for
SPIDAR will be called 500Hz.
if we increase the updateFrequency or simulation factor (in the
physics module), this may effect the performance.
for example:
if we increase the simulation factor = 10, the callback function in
nvmVRPNClient may never been called as the result SPIDAR will never
send force value to the device.

I have tested that configuration, I think 500Hz is enough for the
SPIDAR, the force feedback is smooth enough.

Unfortunately, I've found another problem related with shared state.

sylvi

Reply all
Reply to author
Forward
0 new messages