
22.06.2009, 01:56
|
 |
Гуру
|
|
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
|
|
Вот например два алгоритма делающие одно и то-же, но второй работает в 4 раза быстрее.
Код:
Var
x,y: Integer;
TickCount: DWord;
begin
TickCount := GetTickCount;
for x := 1 to Form30.Width
do for y := 1 to Form30.Height
do Form30.Canvas.Pixels[x,y] := Rgb(Random(255),Random(255),Random(255));
ShowMessage(IntToStr(GetTickCount - TickCount));
end;
Код:
Var
x,y: Integer;
Bitmap: TBitmap;
TickCount: DWord;
begin
TickCount := GetTickCount;
Bitmap := TBitmap.Create;
Bitmap.Width := Form30.Width;
Bitmap.Height := Form30.Height;
for x := 1 to Form30.Width
do for y := 1 to Form30.Height
do Bitmap.Canvas.Pixels[x,y] := Rgb(Random(255),Random(255),Random(255));
Form30.Canvas.Draw(0,0,Bitmap);
ShowMessage(IntToStr(GetTickCount - TickCount));
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
|