![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Таймер [D7]
Егорка © (2009-12-26 13:56:00)обычный использую с задержкой 20мс для вывода "бегущего" графика,но вывод происходит с небольшими рывками видимо изза неравномерных интервалов времени.
вопрос, как сделать "четкий" таймер,без лишней загрузки проца ?
Егорка (2009-12-27 12:47:00) [21]
> timeSetEvent
ясно попробуем
еще уточнение
другой график использует поток со Sleep(20), при этом в Вин7 он также подергивается но в "низших" виндах все гладко
вопрос в Вин7 какието проблемы\изменения с выводом через GDI ?
0x00FF00 (2009-12-26 20:39:00) [22]> вопрос, как сделать "четкий" таймер,без лишней загрузки
> проца ?
Использовать таймер с вытесняющей многопоточностью.
Создаётся функцией timeSetEventиз библиотеки winmm, и поддерживает теоретически любой квант времени с шагом в одну миллисекунду.
Для удаления таймера пользуй timeKillEventоттуда же.
Anatoly Podgoretsky (2009-12-26 20:38:00) [23]> DVM (26.12.2009 20:08:06) [6]
Я не возражаю
Anatoly Podgoretsky (2009-12-26 20:08:00) [24]> Сергей М. (26.12.2009 20:03:05) [5]
Не стоит о грустном, кроме того Win9х не поддерживаемая система.
DVM (2009-12-26 20:08:00) [25]
> Anatoly Podgoretsky ©
Меняй не меняй, а сообщения таймера как имеющие низкий приоритет могут быть просто отброшены если у окна которому они назначаются есть дела поважнее и в нужное время таймер может просто не тикнуть.
Сергей М. (2009-12-26 20:03:00) [26]
> Anatoly Podgoretsky © (26.12.09 19:57) [3]
Да, это как повезет.
Больше всего не повезет в Win98/Me - там 55 мс и более
Anatoly Podgoretsky (2009-12-26 20:00:00) [27]> Anatoly Podgoretsky (26.12.2009 19:57:03) [3]
Это при условии не изменения кванта, и есть такая легальная возможность уменьшить квант до 1 мс
Anatoly Podgoretsky (2009-12-26 19:57:00) [28]> Сергей М. (26.12.2009 19:41:01) [1]
Минимум 10 мс и везение.
DVM (2009-12-26 19:43:00) [29]http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=434
Сергей М. (2009-12-26 19:41:00) [30]
> Таймер [D7]
> обычный использую
Это который TTimer что ли ?
Так он в принципе не может обеспечить такое временное разрешение - минимум 50 мс