On quarta-feira, 26 de julho de 2017 14:23:29 PDT Joshua Grauman wrote:
> Thanks so much for the response.
> 
> So do I have this right then?
> 
> QTimer doesn't use any actually timers in the OS (no system
> calls/interrupts). It is all handled internally by Qt's event loop. So if
> the OS doesn't give Qt CPU time, it will miss a timer. Calling 'nice'
> (Linux) on the process may help with this.

On Windows, it will use multimedia timers (timerSetEvent()) for precise 
timers, SetTimer() for the others. How the OS services those, I don't have a 
clue.[*]

I have a pending patch to make it use CLOCK_MONOTONIC_COARSE on Linux (and 
CLOCK_MONOTONIC_FAST on BSDs), but I've run into some problems that some 
timers wake up in the wrong order. The coarse and precise timers are not 
sync'ed in the OS: even if you query the latter, the former may not update, so 
it may look like the monotonic clock went backwards.

Until then, everything uses the same clock on Unix and simply depends on when 
the OS wakes us up from ppoll().

[*] I have a vague memory of the regular timers having a 4 ms granularity.
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to