![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
оптимизация на быстродействие [D7, WinXP]
RedLord © (2004-07-22 17:56:00)всем привет
имеется код создающий 100 панелей и двигающий их по форме
(скролинг) но оттяпывающий 100 процентов мощи процессора
что можно зделать чтоб не грузить проц так сильно
var mesage:array[1..65535] of tpanel;
...
procedure TForm1.Button1Click(Sender: TObject);
var t1,t2:int64;
n:integer;
begin
t1:=GetTickCount;
for n:=1 to 100 do
begin
mesage[n]:=tpanel.create(form1);
mesage[n].top:=n*20;
mesage[n].Left:=5;
mesage[n].Height:=15;
mesage[n].Width:=200;
mesage[n].caption:=inttostr(n);
mesage[n].Parent:=form1;
end;
t2:=GetTickCount-t1;edit1.Text:=inttostr(t2);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
t1,t2:int64;
n:integer;
begin
t1:=GetTickCount;
for n:=1 to 100 do
begin
mesage[n].left:=mesage[n].Left+1;
end;
t2:=GetTickCount-t1;edit1.Text:=inttostr(t2);
end;
RedLord (2004-07-22 21:37:00) [1]скорость создания не критична критична скорость передвижения
Акакий (2004-07-22 21:27:00) [2]Насколько я помню
код из 100 панелей довольно легко создается на VB.Delphi - не саамый лучший вариант
RedLord (2004-07-22 21:22:00) [3]to subdigger
у меня edit1.tex:=38
но нагрузка на камень сто процентов
и ничего другое в ето время уже не работает
НУЖНО РАЗГРУЗИТЬ ПРОЦ
Subdigger (2004-07-22 18:38:00) [4]2 РедЛорд
шо канкретно у тя глючит
у мя
t2:=GetTickCount-t1;edit1.Text:=inttostr(t2);
edit1.Text=78
комп=cel2000 256m
RedLord (2004-07-22 18:27:00) [5]тормозит жутко перемещение примерно на 20 шагов и комп уже не всостоянии отображать содержание панелей (играющий mp3 замолкает напроч. комп: amd 2500 512mb ddr )
ИдиотЪ (2004-07-22 18:03:00) [6]и это все тормозит?
Subdigger (2004-07-22 17:59:00) [7]в цыклу
processmessages;
Sandman25 (2004-07-22 17:56:00) [8]SetBounds