Russian Qt Forum

Qt => Общие вопросы => Тема начата: 2die4 от Октябрь 28, 2005, 12:12



Название: Проблема с QTimer
Отправлено: 2die4 от Октябрь 28, 2005, 12:12
Здравствуйте!

Возникла такая проблема с QTimer. Мне нужно запускать его каждые 25 мсек.
Но QTimer категорически отказывается запускаться с таким интервалом. При установке
25 мсек - он запукается с темпом 31-32 мсек. Когда ставишь 15 мсек, он запускается с
темпом 15. Но при любом значении от 16 до 25, он запускается все равно с темпом 30.
Пробовал пользоваться виндовой функцией timeBeginPeriod. Ставил значения 1 и 25 - не помогло.
При том, что функция timeGetDevCaps выдает минимальный период равный 1 мсек.

Вообщем, что делать??

P.S. Система Win2000


Название: Проблема с QTimer
Отправлено: nEoN от Октябрь 28, 2005, 13:09
Для извлечения минимальных интервалов времени в Winows можно воспользоваться функцией GetTickCount(), но чтоб это работало именно как таймер, нужно реализовавывать самому таймер с помощью этой функции.


Название: Проблема с QTimer
Отправлено: Vilgeforce от Октябрь 28, 2005, 15:03
Хм... Винда плохо с такими промежутками работать будет, это не RTOS. Кста, зачем, если не секрет, такие малые времена?


Название: Проблема с QTimer
Отправлено: Racheengel от Октябрь 28, 2005, 17:00
Ну дык... Винда она иначе не может...
Мне тоже в софте нужны были маленькие промежутки времени... Пришлось циклами (бля!!!) реализовывать, ибо даже в доке написано - интервал менее 50 мс достоверно не выдерживается... Ни в винде, ни в пингвине...


Название: Проблема с QTimer
Отправлено: Admin от Октябрь 31, 2005, 10:16
цыклами тоже плохо

это же от машины зависит, циклы с разной скоростью идут