Make QTimer::singleShot use Qt::PreciseTimer for lower timeouts.
CoarseTimers are worst in their first firing, so we prefer a PreciseTimer for something that happens only once. If the timeout is too big, we use a CoarseTimer anyway (current threshold is 2000ms). Author: Thiago Macieira <thiago.macieira@nokia.com> Change-Id: I30b20acf506e442cd58126abfe3a4d70fc13b075 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
6fc9820d2a
commit
4e1ad49998
@ -317,7 +317,10 @@ QT_END_INCLUDE_NAMESPACE
|
|||||||
|
|
||||||
void QTimer::singleShot(int msec, QObject *receiver, const char *member)
|
void QTimer::singleShot(int msec, QObject *receiver, const char *member)
|
||||||
{
|
{
|
||||||
singleShot(msec, Qt::CoarseTimer, receiver, member);
|
// coarse timers are worst in their first firing
|
||||||
|
// so we prefer a high precision timer for something that happens only once
|
||||||
|
// unless the timeout is too big, in which case we go for coarse anyway
|
||||||
|
singleShot(msec, msec >= 2000 ? Qt::CoarseTimer : Qt::PreciseTimer, receiver, member);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! \overload
|
/*! \overload
|
||||||
|
Loading…
Reference in New Issue
Block a user