Hallo mkinzler,
danke für deinen Tip, habs ausprobiert ist eher noch langsamer.
Das Problem scheint die parent-Zuweisung zu sein.
Delphi-Quellcode:
setlength(bmdraw,breite,hoehe);
for n := 0 to breite-1 do
for m := 0 to hoehe-1 do
begin
bmdraw[n,m]:=timage_ext.create(self);
//bmdraw[n,m].Parent:=Gleisbild; //langsame Version
bmdraw[n,m].Picture.Bitmap.Width:=22;
bmdraw[n,m].Picture.Bitmap.height:=22;
bmdraw[n,m].Top:=2;
Bm.Schienen.GetBitmap(0, bmdraw[n,m].Picture.Bitmap);
bmdraw[n,m].Left:=n*23;
bmdraw[n,m].top:=m*23;
bmdraw[n,m].OnMouseDown:=FormMouseDown;
bmdraw[n,m].ext_x:=n;
bmdraw[n,m].ext_y:=m;
bmdraw[n,m].Parent:=Gleisbild; //schnelle Version
end;
Ich habe die parent Anweisung ans Ende des Codes geschrieben und jetzt funktioniert das Ganz innerhalb von 1 sec.
Warum ist mir allerdings unklar. Kann es sein, dass die Bitmap danach (nach parent) bei jeder Änderung neu gezeichnet werden muss?
Vielen Dank!