зачем Image1? у меня 10000 раз вызвать BitBlt на 1280*1024 заняло 25 секунд, т.е. 400 кадров в сек. с сохранением Bitmap в файл 14 кадров в сек.
Код:
var
Bitmap: TBitmap;
DC: HDC;
i: Integer;
TickCount: Cardinal;
begin
TickCount:=GetTickCount;
Bitmap:=TBitmap.Create;
DC:=GetDC(0);
try
Bitmap.Width:=Screen.Width;
Bitmap.Height:=Screen.Height;
for i:=1 to 100 do
begin
BitBlt(Bitmap.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, DC, 0, 0, SRCCOPY);
Bitmap.SaveToFile(Format('%.4d.bmp', [i]));
// Application.ProcessMessages;
// if GetTickCount-TickCount>10000 then Break;
end;
finally
ReleaseDC(0, DC);
Bitmap.Free;
end;
ShowMessage(IntToStr(GetTickCount-TickCount));
end;
+TeamViewer наверняка передает только изменяющиеся участки экрана