Vielleicht hat ja jemand eine Erklärung für folgende Phänomen:
Code: Alles auswählen
bmp := TBitmap.Create;
bmp.PixelFormat:=;
bmp.Height := 1000;
bmp.Width := 1000;
bmp.Canvas.Brush.Color:=clred;
bmp.Canvas.Rectangle(0,0,1000,1000);
bmp1 := TBitmap.Create;
bmp1.Height := 1000;
bmp1.Width := 1000;
bmp1.Canvas.Brush.Color:=clGreen;
bmp1.Canvas.Rectangle(0,0,1000,1000);
for i := 0 to 1000 do
begin
Windows.BitBlt(Form1.Canvas.Handle,0,70,1000,1000,bmp.Canvas.Handle,0,0,SRCCOPY);
Windows.BitBlt(Form1.Canvas.Handle,0,70,1000,1000,bmp1.Canvas.Handle,0,0,SRCCOPY);
end;
Am generierten Code liegts nicht, sondern tatsächlich am API Aufruf.
Wenn man BitBlt mit BALCKNESS und WHITENESS aufruft ists genauso schnell.
Ergo es muss am Source DC liegen. Was für Einstellungen könnten hier den Unterschied machen ?
Hat jemand schon ein Ähnliches Phänomen beobachtet ? Theo ?