Ahh, I closed the Adobe Scout application and now the Flash Builder built-in 
profiler works fine. Go figure... 

----- Original Message -----

From: [email protected] 
To: [email protected] 
Sent: Wednesday, October 23, 2013 2:08:11 PM 
Subject: Re: any techniques to spread drawing of screen over several frames? 

Thanks Alex, 

I searched, and I'm not using creationPolicy in the app. 

I'm using spark State, rather than a navigator view (such as spark 
NavigatorContent). 

I do see in Scout that the LayoutManager.doPhasedInstantiation (mx.managers) 
occupies 98% of the total time for the frame in question. If I analyze the 
memory allocations, I see (for the specific frame in question): 

LayoutManager.doPhasedInstantiation (mx.managers): Allocations = 63405 
(memory=19600 KB) 

which is broken down as: 

- LayoutManager.validateProperties (mx.managers): Allocations = 34210 
(memory=11327 KB) 
- LayoutManager.validateDisplayList (mx.managers): Allocations = 25588 
(memory=7137 KB) 
- LayoutManager.validateSize (mx.managers): Allocations = 3607 (memory=1137 KB) 

I have no idea if this is good or bad, as something allocated may have gotten 
deallocated via garbage collection (?). 

I've used FB profiler before, but I tend to got lost among all the data and 
windows to the point where I don't know what's going on anymore. Is there an 
easy way to extract the call count for LayoutManager.doPhasedInstantiation for 
a specific frame (and how to identify that frame in the first place)? 

I've started up the Profiler just now and it's exhibiting some odd behavior. 
The timeline grows as expected, but even though my app is running fine, the 
profiler shows no activity (the Memory Usage graph is flatlined at 0 and the 
Live Objects table is empty). I tried on FB 4.6 and 4.7, same result. It used 
to work fine on FB 4.6. Any idea what it could be? The application path points 
to the correct bin-debug/Main.html file... 

----- Original Message ----- 

From: "Alex Harui" <[email protected]> 
To: [email protected] 
Sent: Wednesday, October 23, 2013 12:20:11 PM 
Subject: Re: any techniques to spread drawing of screen over several frames? 

I still haven't used Scout. I have used the FB Profiler so I'm just more 
used to it. Probably time for me to try Scout. Anyway, the first thing I 
would check is the call counts. I heard you may not be able to get that 
from Scout so you may need to use FB. 

Try to get the call count for LayoutManager.doPhasedInstantiation for that 
frame It should be a small number like 3 or 4. If it is higher, then 
there is extra invalidation going on that, if you can eliminate it (and 
you can't always) could drastically affect the execution time of that 
frame. 

A new navigator view should switch the LayoutManager to phased 
instantiation mode and spread the validation across multiple frames so 
mouse cursor doesn't stick. 

Also make sure you are not using creationPolicy="all" in any navigators. 
That is always a performance killer. 

Only instantiate components that are visible. Postpone instantiation of 
components that aren't. 

You can use various tricks like changing states to incrementally add more 
components to the screen. 

You can use modules to load whole sections of UI "later". 

-Alex 

On 10/23/13 12:03 PM, "[email protected]" <[email protected]> 
wrote: 

>One of the views in my app takes a few seconds to appear on the screen. 
>During this time the mouse icon appears frozen (recovering after the 
>screen is fully drawn). 
> 
>Profiling with Scout, I can see the related frame, which, this one frame, 
>takes a couple seconds to complete. I'm guessing this is due to a fairly 
>complex view to layout and draw. 
> 
>When I implement a stopwatch timer throughout the ActionScript code, the 
>times spent within the functions are negligible. So I'm guessing most of 
>the time is spent behind-the-scenes somewhere drawing things. 
> 
>I tried using callLater() in various places, but this just led to 
>problems since it changed the intended execution order of the code. 
> 
>Are there any techniques to force this drawing to occur over several 
>frames so the mouse doesn't appear frozen to the user? 



Reply via email to