Текущий архив: 2005.09.11;
Скачать: CL | DM;
Внизпомогите оптимизировать код Найти похожие ветки
← →
Dennis S (2005-05-03 11:37) [0]комп 2,4GHz - но при выполнении кода на секунду притормаживает.
При движении мыши, курсор замирает на секунду на месте...
Как этого избежать? Может с кодом что-то не так?
Копирует экран в ВМР, потом конвертит в JPEG и сохраняет...
Что можно сделать, чтобы процесс работы программы не был так заметен??
=======================
procedure TForm1.T1Timer(Sender: TObject);
var
bmp: TBitmap;
jp: TJpegImage;
DC: HDC;
S,S1,Sx: String;
D: String;
begin
T1.Interval := StrToInt(mmTIME.Lines[1]);
if T1.Interval <> 1000 then begin
{---//---}
end;
bmp := TBitmap.Create;
jp := TJpegImage.Create;
bmp.Height := Screen.Height;
bmp.Width := Screen.Width;
DC:=GetDC(0);
BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width,
Screen.Height,DC, 0, 0, SRCCOPY);
jp.Assign(bmp);
jp.CompressionQuality := 20;
jp.Compress;
S := mmTIME.Lines[3];
S1 := mmTIME.Lines[5];
Sx := mmTIME.Lines[7];
if S1 = "1" then begin
x := x + 1;
D := DateToStr(Date);
Sx := Sx + D +"_screen_"+ IntToStr(x) +"_.jpg";
jp.SaveToFile(Sx);
end;
jp.SaveToFile(S);
ReleaseDC(0, DC);
bmp.Free;
jp.Free;
end;
← →
@!!ex (2005-05-03 12:34) [1]ДИНАМИЧЕСКОЕ ВЫДЕЛЕНИЕ ПАМЯТИ ОДНА ИЗ САМЫХ МЕДЛЕННЫХ ОПЕРАЦИЙ!!!
Создавай объекты ОДИН раз! Будет в разы быстрее.
Страницы: 1 вся ветка
Текущий архив: 2005.09.11;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.009 c