Jump to content
Registration disabled at the moment Read more... ×
domus

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

Recommended Posts

Posted (edited)

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

Maybe it is commented out to fix some strange issue/bug.  In that case the developer that has commented out the code should include the report number in the comment to document the change in behavior. 

 

Share this post


Link to post
Posted (edited)
40 minutes ago, Lajos Juhász said:

Maybe it is commented out to fix some strange issue/bug.  In that case the developer that has commented out the code should include the report number in the comment to document the change in behavior. 

 

It's probably done on the commit comment with an internal ticket number. No reason to put it in the source file on the comment visible by the public (= us).

Edited by Patrick PREMARTIN

Share this post


Link to post
37 minutes ago, Patrick PREMARTIN said:

It's probably done on the commit comment with an internal ticket number. No reason to put it in the source file on the comment visible by the public (= us).

 

Most probably yes. It would be easier if we could get that information. I do hate when on codebase I am working on changes like this does not have a comment with a proper description or ticket number. Searching in repository for the specific change can be time consuming.

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×