Вниз
Скачать: CL | DM;

Application.ProcessMessages   Найти похожие ветки 

 
Serg1981 ©   (2006-02-04 17:48) [0]

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


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

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


 
sniknik ©   (2006-02-04 18:21) [2]

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

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


 
Anatoly Podgoretsky ©   (2006-02-04 19:12) [3]

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


 
sniknik ©   (2006-02-04 19:38) [4]

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.067 c
2-1138797735
Yexel
2006-02-01 15:42
2006.02.19
Delphi + Access = схожу с ума!


6-1131726960
jimmy
2005-11-11 19:36
2006.02.19
Игра под модем


2-1138793071
sergeii
2006-02-01 14:24
2006.02.19
Label ?


1-1137482024
RDA
2006-01-17 10:13
2006.02.19
Вставка апострофа во всех контролах


2-1138629156
sanich
2006-01-30 16:52
2006.02.19
Как убрать такую ошибку:




   Наверх