A
Adam
After noticing some timing descrepencies with events in my code, I
boiled the problem all the way down to my Windows Message Loop.
Basically, unless I'm doing something strange, I'm experiencing this
behaviour:-
MSG message;
while (PeekMessage(&message, _applicationWindow.Handle, 0, 0,
PM_REMOVE))
{
int timestamp = timeGetTime();
bool strange = message.time > timestamp; //strange == true!!!
TranslateMessage(&message);
DispatchMessage(&message);
}
The only rational conclusion I can draw is that MSG::time uses a
different timing mechanism then timeGetTime() and therefore is free to
produce differing results. Is this the case or am i missing something
fundamental?
NB: strange is only true every now and again, and it's quite often so
I'm pretty sure it isn't a wrap around issue.
boiled the problem all the way down to my Windows Message Loop.
Basically, unless I'm doing something strange, I'm experiencing this
behaviour:-
MSG message;
while (PeekMessage(&message, _applicationWindow.Handle, 0, 0,
PM_REMOVE))
{
int timestamp = timeGetTime();
bool strange = message.time > timestamp; //strange == true!!!
TranslateMessage(&message);
DispatchMessage(&message);
}
The only rational conclusion I can draw is that MSG::time uses a
different timing mechanism then timeGetTime() and therefore is free to
produce differing results. Is this the case or am i missing something
fundamental?
NB: strange is only true every now and again, and it's quite often so
I'm pretty sure it isn't a wrap around issue.