I ran into a similar issue before with effects classes. The first time they
ran they were slow but then after that they ran normal. I don't think the
effects or transitions are created until first use. Maybe Alex knows how to
create them before first use?

Before AVM2 we would take everything out and then add things in piece by
piece meaning start with a new blank renderer and test it. Then add in a
label with static text and test it again. Then keep adding things in until
you see a performance drop.

You don't have to go all in on ActionScript just switch from bindings to
using override data method. There are examples online. The data property
can be null sometimes and that might have been the cause of the runtime
errors.

I would look at removing all the styles on each label. Set those on the
group so they are inherited.

I've had issues with setting percentages in renderer. With percentage based
layout there can be multiple passes I believe. So do an experiment again
with fixed positions and check the difference.

Also, as Alex said, create a single instance of your formatter and use it
once in the data setter:

money.text = Global.myFormatter.format(data); //pseudo code

You could also try setting the typical renderer data. I think that this
gets the CPU to cache the calls ahead of time.

On Nov 21, 2016 12:20 AM, "Alex Harui" <aha...@adobe.com> wrote:

> The two screen grabs seem to be from different samples.  Looks like in the
> first one, 13 renderers are created, in the other, 14.
> Are all 13 or 14 renderers visible?
>
> Looking at the first screen shot, there is a big drop in the cumulative
> time at LayoutManager.doPhasedInstantiation.  That means that the screen
> grab does not show the rest of the cumulative time which is probably in
> LayoutManager.validateSize and/or LayoutManager.validateProperties.
> Knowing what is going on there might help.
>
> There is another drop in DataGroup.getVirtualElementAt so it might be
> useful to know what is going on in there.
>
> And it appears that there is a lot of work instantiating the
> CurrencyFormatter.  Is there a way to share a single instance and
> instantiate that CurrencyFormatter sooner rather than later?
>
> Finally, sometimes when the UI is too slow, you have to resort to trickery
> instead of trying to find speed.  Magicians and theater directors are
> masters at this.  They use distraction and other techniques to make people
> think something interesting is happening while the true work is being
> done.  Even putting up a busy cursor can help, but a fancier "animation"
> might be more interesting.
>
> For example, if you are sure that the first 3 renderers will be read 90%
> of the time, just put up 3 renderers, then add more renderers over time.
> You could add 2 per second after the first 3 and folks may not notice.
> Similarly, if some "columns" of labels are less important, create them
> later as well.  They can pop in a few per frame and it might actually look
> "cool".
>
> HTH,
> -Alex
>
> On 11/20/16, 8:11 PM, "bilbosax" <waspenc...@comcast.net> wrote:
>
> >So I have trimmed all the fat that I can find, and the performance is
> >still
> >pretty bad IMO.  I cut out all percentage based measurements and all of my
> >components now have an absolute layout.  I have removed all of the groups
> >humanly possible in all of my components, I have set all of my fxg
> >graphics
> >and buttons to cacheasbitmaps.
> >
> >The best transition times that I was able to obtain when my button was
> >clicked was around 2700ms.  Users will be tapping buttons endlessly
> >thinking
> >something is wrong.  So I ran Scout again, and here are two screen grabs
> >showing the keyframe where the transition button was clicked, and these
> >two
> >images are part of the same keyframe showing the elements taking the most
> >time right down to the itemrenderer, I just couldn't get them to fit on
> >the
> >screen at the same time:
> >
> ><http://apache-flex-users.2333346.n4.nabble.com/file/n14172/screen1.jpg>
> >
> ><http://apache-flex-users.2333346.n4.nabble.com/file/n14172/screen2.jpg>
> >
> >Based on these two images, can you tell if I need to have an actionscript
> >itemrenderer rather than an mxml one to increase my performance?
> >
> >
> >
> >--
> >View this message in context:
> >http://apache-flex-users.2333346.n4.nabble.com/Scout-
> What-does-this-mean-t
> >p14126p14172.html
> >Sent from the Apache Flex Users mailing list archive at Nabble.com.
>
>

Reply via email to