Jak tymczasowo zatrzymać kontrolę nad malowaniem?

Mamy obiekt kontroli wygranej, który przenosi klientów na inne współrzędne. Problem polega na tym, że gdy jest zbyt wiele dzieci - na przykład 500 kontrolek - kod jest naprawdę wolny. Musi to być spowodowane tym, że każda kontrolka jest przemalowywana za każdym razem, gdy ustawiam właściwość Left i Top. Więc chcę powiedzieć, że obiekt WinControl przestaje być odmalowywany, a po przeniesieniu wszystkich obiektów do ich nowych pozycji, może być ponownie pomalowany (Coś jakBeginUpdate dla obiektów notatek i list). Jak mogę to zrobić? Oto kod przenoszenia obiektów; to dość proste:

for I := 0 to Length(Objects) - 1 do begin
  with Objects[I].Client do begin
    Left := Left + DX;
    Top := Top + DY;
  end;
end;

questionAnswers(4)

yourAnswerToTheQuestion