![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
deniska |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 398 Регистрация: 1.7.2005 Где: Троицк Репутация: нет Всего: 0 |
Ситуация: запускаю мильтимедийный таймер. частота 100мс. при определенных условиях вызываемая функция не успевает отрабатывать за это время, в это время видимо набирается какая то внутрення очередь таймера и как только появляются условия быстрой отработки функции таймера, вызовы этой функции сыпятся непрерывно в течение некоторого времени (видимо пока очередь не очистится). Возможно ли сделать так, чтобы очередь таймера не собиралась? (можно конечно с помощью GetTickCount() смотреть сколько времени прошло с момента последнего запуска функции таймера и если оно меньше периода, то просто не выполнять действия в функции. но мне этот метод кажется немного кривоватым)
|
|||
|
||||
__Sergey__ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 21.1.2005 Репутация: нет Всего: 4 |
копай в сторону очереди таймеров: CreateTimerQueue и т.п.
Это сообщение отредактировал(а) __Sergey__ - 18.7.2007, 16:11 |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Если частота 100 мс тебя устраивает, замени на обычный таймер (который SetTimer) или WaitableTimer, если дело происходит не в окне, а в потоке. По окончании функции просто переустанавливай таймер.
Можно еще сбрасывать таймер в момент запуска функции и устанавливать по окончании. -------------------- ... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |