I have a report from a user of my SDL-based scientific software that consecutive calls to SDL_GetTicks() produces a jump backward in time, presumably on windows. I have logs of this, where events are timestamped with GetTicks() output every couple seconds. In one case, the jump backward was about 3.97 minutes, and in two cases about exactly 4.98 minutes; at least one time the resulting timer number went negative. This wasn’t regular (like not every 5 minutes). This happens well within the first few minutes of running the program, and the tick numbers are nowhere close to the point where it would hit its max and flip negative. It appears to happen randomly and is not reproducible with a specific set of actions. I’m just wondering what might cause this.
Does anyone know if an NTP client or process that checks the time to sync with a network could do something like this? Could ANY another program reset the timer SDL uses if it is running at the same time? I suspect it is something quirky about his computer, either some software running or some hardware is going haywire, but have no basis for a guess.
Thanks for any education you can give.