![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
При обработке данных приложение как-бы замерзает
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
Первый - идеологически более правильный, второй - проще.