Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1253279555
ForEvgen
2009-09-18 17:12
2009.11.08
Здравствуйте!Помогите пожалуйста!


2-1253710111
webpauk
2009-09-23 16:48
2009.11.08
Неувязка с Parent


2-1253526247
Иван Василич
2009-09-21 13:44
2009.11.08
ADOQuery как вывести результат запроса ?


15-1252441811
Юрий
2009-09-09 00:30
2009.11.08
С днем рождения ! 9 сентября 2009 среда


2-1253006175
Гость
2009-09-15 13:16
2009.11.08
Проверить создан ли объект





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский