QML Timer — Как повысить точность?

Я разрабатываю метроном QML. Я использовал таймер с интервалом 60000 / ударов в минуту. Однако это не совсем точно. Как я могу улучшить точность. Должен ли я использовать таймер, или есть лучшее решение?

4

Решение

Основная проблема с QTimer в том, что он использует цикл событий Qt для синхронизации. К сожалению, это не может быть достаточно точным, по своей сути. Задержка для уведомлений и всего, что в цикле событий, мешает.

Вам нужно будет рассмотреть таймер, который на самом деле не сильно зависит от цикла событий Qt, например QueryPerformanceCounter() на винде. Вот как мы попадаем в сферу QElapsedTimer.

Тем самым я бы использовал QElapsedTimer для этого.

В следующем посте для этой цели реализован пользовательский класс. Вы можете принять его как есть, а затем настроить его, чтобы удовлетворить ваши потребности еще лучше, если это необходимо.

Таймер высокого разрешения

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]