Mit with ... do lässt sich das etwas beschleunigen:
Delphi-Quellcode:
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with drawgrid1.canvas do
begin
if feld[acol,arow] then
brush.color := clblack
else
brush.color := clwhite;
fillrect(rect);
end;
end;
aber ich denke dein Flaschenhals liegt eher an anderer Stelle.
Versuch mal, nach jeder Änderung an feld[] die Methode Drawgrid1.Invalidate aufzurufen.
Das Drawgrid wird dann nicht sofort neu gezeichnet, sondern nur dann wenn Windows
Zeit hat die Windows Botschaften abzuarbeiten.
Das bedeutet, dass sich durchaus mehrere feld[] Werte ändern können, bis neu gezeichnet wird,
aber dafür ruckelt und flackert nichts.