Вниз
Скачать: CL | DM;

Эксперимент с TreeView   Найти похожие ветки 

 
F1 ©   (2002-11-20 13:48) [0]

Сделал вот такую штучку, чтоб посмотреть на быстродействие TreeView, так получается, что если много всего добавить, а потом удалить, то в целом скорость резко падает!!! ПОЧЕМУ???

С самого начала с Clear и BeginUpdate делалось 30 мс, а потом 100!!! Какого {EZ!!!

procedure TForm1.SpeedButton1Click(Sender: TObject);
Var i:Integer;
Tick:DWORD;
begin
Tick:=GetTickCount;
if CheckBox1.Checked then TreeView1.Items.BeginUpdate;
if CheckBox2.Checked then TreeView1.Items.Clear;
for i:=0 to 100 do
TreeView1.Items.Add(Nil, IntToStr(i));
if CheckBox1.Checked then TreeView1.Items.EndUpdate;
Label1.Caption:=IntToStr(GetTickCount-Tick);
end;


 
Андрей Прокофьев ©   (2002-11-20 13:52) [1]

Может, сначала Clear чистить-то было нечего, а во второй раз надо удалить 101 узел?


 
F1 ©   (2002-11-20 13:55) [2]

>Андрей Прокофьев © (20.11.02 13:52)
Совсем за ламера считаешь :)
Нет, все при равных условиях!
Первый раз, когда Tree пустой я отбрасывал!


 
F1 ©   (2002-11-20 14:03) [3]

Короче вот такой код с каждым разом работает дольше!

procedure TForm1.SpeedButton1Click(Sender: TObject);
Var i:Integer;
Tick:DWORD;
begin
//-------------
TreeView1.Items.BeginUpdate;
for i:=0 to 1000 do
TreeView1.Items.Add(Nil, IntToStr(i));
TreeView1.Items.Clear;
//--------------
for i:=0 to 100 do
TreeView1.Items.Add(Nil, IntToStr(i));
Label1.Caption:=IntToStr(GetTickCount-Tick);
TreeView1.Items.EndUpdate;

//Начал отсчет времени
Tick:=GetTickCount;
TreeView1.Items.BeginUpdate;
TreeView1.Items.Clear;
for i:=0 to 100 do
TreeView1.Items.Add(Nil, IntToStr(i));
TreeView1.Items.EndUpdate;
//Вывел время
Label1.Caption:=IntToStr(GetTickCount-Tick);
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-4318
bAgmAn
2002-11-21 16:49
2002.12.02
DLL и объекты Delphi


1-4440
alcat
2002-11-20 01:56
2002.12.02
Проблема с ReadLn


8-4515
DenKop
2002-08-15 15:43
2002.12.02
Как узнать длительность трека AudioCD.


6-4553
SZap
2002-10-07 19:22
2002.12.02
.txt на FTP


3-4199
Ali2002
2002-11-13 13:29
2002.12.02
Помогите начинающему, как программно создать DBF файл




   Наверх