Link to home
Start Free TrialLog in
Avatar of gunn
gunn

asked on

SetWaitableTimer specifics

MSVC++ 5.0, WinNT4.0SP3

I'm trying to sync up a aircraft simulation to real-time. Becuase the model itself runs very fast (like 20simulated seconds in .2 realtime seconds), I need some kind of timer that once the model frame has been run through, it waits until the real frame time is up to continue.

I've found the WaitablTimer set of functions to be exactly what I want. However, after creating the timer and then calling SetWaitableTimer(), I am unsure of the exact specifics of what the variable inputs to this function do.

The 2nd parameter, *pDueTime in 100 nano-second intervals.... is this what I want to set the single frame time of the model as? If not, what is it for?

The 3rd paramter, lPeriod in milliseconds.....what about this? If not, what is it for?

I want to set the timer at the initialization of the model, then call WaitForSingleObject() at the bottom of each frame, so it should wait until the specified real-time frame time is up to go back through the loop again, over and over. I'm just not sure where to put the periodic cycle time I need.

btw, I don't need a completion routine (the 4th, 5th params).

Thanks,
ASKER CERTIFIED SOLUTION
Avatar of alexo
alexo
Flag of Antarctica image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Sigh...  Another autograder hit.
Avatar of gunn
gunn

ASKER

Sorry it took me so long to get back to these pages and this question I had posted. Haven't worked on this part of the project since then; its just been in limbo.



Thanks a lot; I'll make sure I have it set up that way.



From your example above, will the timer 'fire' after the period is up, over and over?



Thanks again!
If you don't get back to an answer long enough, the EE software will automatically accept it with a 'C' grade.  Wich is usually not what you (or the "expert") want.

The answer to your question is yes, over and over.

Also, you might want to look at "multimedia timers".  They have better resolution.