Форум: "Начинающим";
Текущий архив: 2009.11.08;
Скачать: [xml.tar.bz2];
ВнизVCL скорость работы Найти похожие ветки
← →
B&W (2009-09-16 19:05) [0]Вот есть цикл вида:
for i:=0 to 70000 do
begin
Application.ProcessMessages;
//тело цикла
end;
если я ввожу внутрь цикла строку
label1.caption:="ход работы "+inttostr(i)+"/70000";
то скорость работы резко снижается... и этот лабел жутко мигает... подскажите пожалуйста, можно ли с этим что-то сделать? и как?
заранее спасибо!
← →
anonims (2009-09-16 19:21) [1]if i mod 100 =0 then
label1.caption:="ход работы "+inttostr(i)+"/70000";
← →
sniknik © (2009-09-16 19:24) [2]> можно ли с этим что-то сделать?
не заниматься идиотизмом и выводить только то, что человек реально может заметить.
← →
sniknik © (2009-09-16 19:25) [3]> if i mod 100 =0 then
мало, хотя бы на 10000.
← →
B&W (2009-09-16 19:34) [4]Спасибо! буду пробовать
← →
Игорь Шевченко © (2009-09-16 21:20) [5]нaрод использует Gauge или ProgressBar и не парит мозг
← →
TUser © (2009-09-16 22:57) [6]Это раотает вот как. Когда ты присваиваешь значение капшану, соотвествующему окну (твоей формы) посылается сообщение на перерисовку. Это очень медленная операция, по сравнению с другими. Поэтомуесть смысл присваивать такое значение не на каждой итерации цикла, а весьма редко, например, на каждой тысячной: if (i mod 1000) = 0 then ...
← →
Германн © (2009-09-17 01:27) [7]
> нaрод использует Gauge или ProgressBar и не парит мозг
>
Хм. "Народ" использует их внутри цикла как в сабже?
← →
KilkennyCat © (2009-09-17 04:37) [8]конечно нет, вне цикла. это удобно и выглядит очень быстро: сначала 0%, а потом сразу 100%.
← →
Омлет (2009-09-17 09:59) [9]Выводив целых процентах, мерцать не будет.
← →
Anatoly Podgoretsky © (2009-09-17 12:17) [10]> sniknik (16.09.2009 19:25:03) [3]
А лучше на 100 000
← →
sniknik © (2009-09-17 12:27) [11]> А лучше на 100 000
однозначно.
чем меньше усилий на "нагрев проца" сомнительными прорисовками и принудительными этому "процессингу" (при том, что человек этих прорисовок даже не заметит) тем лучше.
← →
Anatoly Podgoretsky © (2009-09-17 12:34) [12]По уму рисовать только если длина увеличится на один пиксель или более, иначе действительно сомнительно.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.11.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c