Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Timer в DLL, почему тормоза??? 
V
    Опции темы
CompWorm
Дата 22.1.2008, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



я смастерил DLL. запихнул в него форму. посадил на форму три таймера.
у первых двух интервал 1000
у третьего 100
timer1.Enabled :=True;
timer2.Enabled :=True;
timer3.Enabled :=false; 

в первых двух замысловатый алгоритм, и во втором таймере раз за такт срабатывает
timer3.Enabled :=True;
в третем же таймере простенький код и в конце 
timer3.Enabled :=false; 
(тоесть он срабатывает один раз за один такт первых двух таймеров)

запускаем и видим, что в принципе работает...

теперь проводим эксперимент - убираем
timer3.Enabled :=false; 
из третьего таймера (снимаем тормоза  smile )

по идее, третий теперь должен успевать сработать 10 раз за один такт первых двух таймеров, однако начинаются явные подтормозы и судя по результатам работы проги, третий таймер успевает из 10 раз выпольнить свой алгоритм раз 7-8 ...

отсюда вопрос: есть ли в DLL ограничения на таймеры или почему могут происходить такие подтормозы?



П.С. в обычном приложении (без ДЛЛ) пока не пробовал повторить эксперимент...



--------------------
PM MAIL   Вверх
MetalFan
Дата 22.1.2008, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



если нужна точность, используй другие типы таймеров (мультимедийные,waitable, очереди таймеров)
с TTimer'ом точности не добьешься - он работает на сообщениях, которые к тому-же имеют самый низкий приоритет.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
CompWorm
Дата 22.1.2008, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



Цитата

с TTimer'ом точности не добьешься - он работает на сообщениях, которые к тому-же имеют самый низкий приоритет. 

вот это уже интересные новости  smile 

Цитата

если нужна точность, используй другие типы таймеров (мультимедийные,waitable, очереди таймеров)

про это впервые слышу. где можно посмотреть примеры с этими штуками или хотябы просто почитать об этих типах ?  smile 


--------------------
PM MAIL   Вверх
MetalFan
Дата 23.1.2008, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



MSDN: 
1. Multimedia - timeSetEvent
2. Waitable - CreateWaitableTimer
3. Queue - CreateTimerQueueTimer
ну и поиск по форуму и инету еще никто не отменял)


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
CompWorm
Дата 23.1.2008, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: 1
Всего: 31



так гораздо понятнее. спасибо.


--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1977 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.