Название: Подвисает на некоторое время QTimer Отправлено: Goshman от Май 15, 2009, 19:00 Доброе время суток!
Есть некая embedded железяка на Тионе(arm). Стоят kernel 2.6.24 и qtopia 4.3 На главном виджете есть QStackedWidget на 20 виджетов. Есть QTimer, который является главным таймером приложения и инициирует циклические опросы СОМ-порта (СОМ-порт реализован в отдельном потоке: активен только на время приема-пердачи, в паузах спит), а также обновление состояния (2 раза в секунду) активных виджетов из стэка. Несколько раз замечал подвисание QTimer'а до нескольких десятков секунд (текущее окно не обновляется, хотя при этом на кнопки приложение реагирует и окна переключаются). Затем таймер начинал "наверстывать" упущенное и в конечном итоге далее работал норамльно. Подвисание замечал в окнах, где отображаются часы с секундами (часы инкрементируются также в главном таймере). "Наверстывание" заключается в том, что секунды начинают менться раза в 3-4 быстрее. Подвисания поймать очень сложно... за час получилось 2 раза в разных местах программы. Как я понимаю QTimer реализован в отдельном потоке, который по каким-то причинам впадает в спячку. Можно ли неким образом назначить этому потоку высший приоритет? Или копать нужно в другом направлении? Название: Re: Подвисает на некоторое время QTimer Отправлено: nik135 от Май 15, 2009, 21:46 смотри в сторону low-latency linux how-to
Название: Re: Подвисает на некоторое время QTimer Отправлено: gogi от Июнь 18, 2009, 14:13 Тоже замечал подвисания таймера ???. Обо мне: у меня также железка на базе Тион-270, ядро 2.6.22 с патчем от Зао-Зео (в последнее время даже 2.6.22.19), Qt Embedded 4.5.1.
В углу экрана у меня рисуются часы с полем секунд и по таймеру раз в секунду показания часов обновляются. В отладочных целях иногда пищал пищалкой из этого таймера и сыпал в консоль сообщения, так и заметил глюк. Так вот замечал, что иногда этот таймер глох на несколько секунд, а потом резко просирался и навёрстывал упущенное. Проц даже вроде не загружен в такие моменты был, хотя уже и не помню - с глюком особо не разбирался, руки не дошли, просто отметил на будущее. Название: Re: Подвисает на некоторое время QTimer Отправлено: Goshman от Июль 01, 2009, 19:16 С подвисаниями QTimer я, кстати, так и не разобрался. Проблема была решена написанием собственного таймера, унаследованного от QThread. Пока полет нормальный.
|