Jump to content
domus

Extreme slow-down in Windows FMX app UI since upgrading to 12.1

Recommended Posts

Using arrRect.SetBounds() you avoid a call to AlignObjects because TControl.SetBounds is checking some things before a call to AlignObjects


Avoid setting TPosition.X

Edited by Cristian Peța

Share this post


Link to post
1 minute ago, Cristian Peța said:

Avoid setting TPosition.X

No kidding!  :classic_wink:

Share this post


Link to post
4 hours ago, Cristian Peța said:

Using arrRect.SetBounds() you avoid a call to AlignObjects because TControl.SetBounds is checking some things before a call to AlignObjects


Avoid setting TPosition.X

Thanks @Cristian Peța

I've updated my sample project on https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-3711

Hope they found a way to optimize this for 13.

  • Like 2

Share this post


Link to post

Just wanted to try a fix in FMX.Forms and I found it already there but commented 🤔.

First two lines will exit and AlignObjects() will not be called if used Form.BeginUpdate. The Realign will be done anyway after Form.EndUpdate.

procedure TCustomForm.Realign;
begin
//  if FDisableAlign or (FUpdating > 0) then
//    Exit;
... more code
  if FCanvas <> nil then
  begin
    AlignObjects(Self, Padding, FCanvas.Width, FCanvas.Height, FLastWidth, FLastHeight, FDisableAlign);
    RecalcControlsUpdateRect;
    InvalidateRect(ClientRect);
  end;
end;

 

Share this post


Link to post

Now, that's odd. As if someone forgot to uncomment before release...

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×