Вниз
Скачать: 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.037 c
1-1137737999
Amentah
2006-01-20 09:19
2006.02.19
Округление и другие операции над числами


1-1137570215
ОлеЛу
2006-01-18 10:43
2006.02.19
компиляция без IDE


2-1138783630
SDssss
2006-02-01 11:47
2006.02.19
перенести с С в Delphi5


6-1131526303
Ezorcist
2005-11-09 11:51
2006.02.19
Обработчики событий у компонента TServerSocket


2-1138970168
Делфёст
2006-02-03 15:36
2006.02.19
Индикатор выполнения задачи




   Наверх