flex-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: TitleWindow severe performance problem (>15 sec to update)
Date Fri, 22 Aug 2014 06:52:27 GMT
And the numbers show 49 layout passes.  Your goal is to try to get it down
to 1 or 2.

I don't see UIComponent.initialize in the list which is probably a good
thing.  That measures the number of widgets created.  But please scroll
down and find it and let me know what the call count is (just need the
number, not a screenshot).  I'm going to guess it is in around 90, which
would be good to make a smaller number, but it might not be the main
culprit.  The framework should be able to create and layout 90 components
in under a second in many cases.

Unclear why there are 49 layout passes.  I don't know of any easy ways to
find out.  I usually monkey patch LayoutManager and remove the comments
and check the trace output from all of the invalidation calls.  It is a
ton of data but by rummaging through it you'll see doPhasedInstantiation
calls then more invalidateProperties, invalidateSize,
invalidateDisplayList calls.  Those are components that are getting
modified somehow and need another pass.   If you see the same components
in several passes, that's where I look first.

But before you go and do all of that, here's some causes of multiple
layout passes than I can think of OTOH:

1) asynchronous loading.  If you have data or assets coming in over the
network, they do need another layout pass when they arrive.  But
hopefully, the asynchronous results don't come in over 49 different frames.
2) ConstraintLayout.  I saw it in there, and it can be the cause of a
performance problem.  Do you really need it?  There might be a cheaper way
to replace it with.
3) Unbounded sizes.  When things have percentage sizes, they get measured
and if their measurements are not stable, you'll get multiple passes
4) Multi-line text and other "flow" layouts.  Multi-line text can be any
dimension.  Locking down the width (or height) can eliminate multiple
layout passes.


On 8/21/14 5:37 PM, "codekarma" <codekarma25@gmail.com> wrote:

>Sorry, I cleared the filters now an uploaded it  here
>Now you can see the mx and spark classes.
>View this message in context:
>Sent from the Apache Flex Users mailing list archive at Nabble.com.

View raw message