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

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

При обработке данных приложение как-бы замерзает


Tempora ©   (2006-05-15 13:07:00) 

Гуру. Подскажите пожалуйста.
Например, при обработке большого массива данных или переменных на это время приложение перестает реагировать на движение мышки, попытки перетащить его окна и т.п.
Как обычно этого можно избежать? И можно ли.


Gydvin   (2006-05-16 07:07:00) [1]


> Сам придумал, на современных машинах не менее 3 000 000
> вызовов в секунду. Или 300 наносекунд это сильное замедление?
>

да нет сталкивался, очень долгая обработка фоток (порядка 12 часов) и засеченное время достоверно показывает - куда нужно ставить эту функцию )))))


Anatoly Podgoretsky   (2006-05-15 16:16:00) [2]

han_malign ©   (15.05.06 16:04) [6]
Ты сначала сделай такой цикл.


han_malign   (2006-05-15 16:04:00) [3]


> Сам придумал, на современных машинах не менее 3 000 000
> вызовов в секунду. Или 300 наносекунд это сильное замедление?

- при 30 нс итерации - десятикратное замедление - сильное?


Anatoly Podgoretsky   (2006-05-15 15:18:00) [4]

Gydvin ©   (15.05.06 13:24) [2]
Сам придумал, на современных машинах не менее 3 000 000 вызовов в секунду. Или 300 наносекунд это сильное замедление?


Ega23   (2006-05-15 13:49:00) [5]


> Мне кажется, проще именно первый вариант.


Это смотря с какой стороны посмотреть. От задачи зависит.


Fay   (2006-05-15 13:27:00) [6]

Мне кажется, проще именно первый вариант.


Gydvin   (2006-05-15 13:24:00) [7]


> Вариант 2.

если есть вложенные циклы, лучше ставить на наружнее кольцо, так как эта функция существенно замедляет процесс


Ega23   (2006-05-15 13:10:00) [8]

Вариант 1. Делать обработку в отдельном потоке.
Вариант 2. Внутри цикла вставить Application.ProcessMessages

Первый - идеологически более правильный, второй - проще.


Наверх

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