Простой точный таймер, работает в Windows, использование PreciseTimer |
Здравствуйте, гость ( Вход | Регистрация )
Простой точный таймер, работает в Windows, использование PreciseTimer |
mezmay |
24.1.2014, 13:09
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1 |
Случайно увидел интересную опцию класса QTimer - свойство timerType.
http://qt-project.org/doc/qt-5.0/qtcore/qt...#timerType-prop Оно может принимать значения: Цитата enum Qt::TimerType The timer type indicates how accurate a timer can be. Qt::PreciseTimer 0 Precise timers try to keep millisecond accuracy Qt::CoarseTimer 1 Coarse timers try to keep accuracy within 5% of the desired nterval Qt::VeryCoarseTimer 2 Very coarse timers only keep full second accuracy По умолчанию при создании объекта класса QTimer используется значение Qt::CoarseTimer, то есть грубый таймер, в Windows - обычный таймер. Для использования точного таймера надо выбрать Qt::PreciseTimer, и тогда в Windows будет при возможности использоваться Multimedia timer. Простой рабочий пример на Qt 5.1: Раскрывающийся текст
Таймер был проверен в Windows 7 x64: по таймеру мы писали данные в COM-порт и проверяли осциллографом, результат хороший. Иногда проскакивают небольшие сдвиги, но частота пакетов сразу восстанавливается. Сообщение отредактировал mezmay - 24.1.2014, 13:16 |
|
|
Текстовая версия | Сейчас: 25.11.2024, 23:47 |