Мне надо, чтобы таймер срабатывал 25 раз в секунду.Код:...QTimer timer;...connect(&timer, SIGNAL(timeout()), this, SLOT(timerSlot()));...timer.start(1000/25);Но реально таймер срабатывает 22 раза в секунду (видно по скорости обработки данных...).Написал даже небольшую прожку с двумя таймерами: один таймер инкрементирует переменную, другой раз в секунду выводит эту переменную на экран. Получаются очень странные результаты. Таймер на одну мс срабатывал примерно тысячу раз (как и должно быть). На интервалах от 30 до 40 мс он все время срабатывает 22 раза в секунду. 50 мс срабатывал 20 раз (опять верно). В общем на каких-то значениях задержки QTimer работает как надо, а на каких-то очень криво... Пробовал компилировать на Qt 4.6.2, 4.6.3, 4.7.0, статические сборки и обычные. Запускал на WinXP и Win7. Везде одни и те же результаты. Точно так же работают QBasicTimer и QObject::timerEvent.Пришлось запустить таймер на 20 мс (50 тиков в секунду) и обрабатывать каждый второй тик... Но хотелось бы разобраться в чем проблема...
|