Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Application.ProcessMessages [D7, XP]


Serg1981 ©   (2006-02-04 17:48:00) 

Здравствуйте! Заметил одну вещь: при использовании процедуры Application.ProcessMessages цикл выполняется медленнее, чем без использования такой процедуры. Можно-ли заменить эту процедуру чем-то более "легким", чтобы не тормозить общий процесс ?
Спасибо!


sniknik   (2006-02-04 19:38:00) [1]

> Это наиболее легкая процедура, требует менее 300 наносекунд на вызов.
сама по себе да, а последствия? если к примеру в цикле прогрессбар устанавливается, ход "расчетов" показывает, тогда этот вызов повлечет за собой перерисовку и прочие "событийные" вещи... а это уже не так "легко" как сам вызов ProcessMessages.

но это вобщето уже офтопик, никакой конкретики по циклу нет, обсуждается исключительно только сама процедура/вызов... так что сорри. ;)


Anatoly Podgoretsky   (2006-02-04 19:12:00) [2]

Serg1981 ©   (04.02.06 17:48)  
Это наиболее легкая процедура, требует менее 300 наносекунд на вызов.


sniknik   (2006-02-04 18:21:00) [3]

да не чуть, а сильноможно ускорить вызывая раз в тысячу проходов. ;) (в тысячу раз если одна итерация цикла выполняется сопоставимо по времени с вызовом ProcessMessages)

а еще можно обработку в отдельном потоке делать... тогда ProcessMessages вообще не понадобится.


Sergey Masloff   (2006-02-04 18:01:00) [4]

Что значит более легким? Или твое приложение выполняет обработку поступающих сообщений во время цикла или нет. Хочешь быстрее - замораживается UI хочешь интерактивности - терпи потери скорости. Ну чутьсэкономить можно вызывая обработку сообщений не в каждом цикле а например в каждом сотом или тысячном...


Наверх

Титульная страница Поиск, карта сайта Написать письмо