You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@flex.apache.org by Daniel Ruiz <da...@gmail.com> on 2012/07/24 01:30:58 UTC

Mobile List - Performance Question

Hi,

I'm quite new in Flex Development. While performance in general is pretty
acceptable, there is still 'a lot' for me to get an App I'm creating really
smooth.

On Lists, I have a small issue - and I'm not sure what to do to improve
performance - or if it's even possible to improve more at this stage.

The setup I have:

 - s:List, IconItemRenderer / LabelItemRenderer (doesn't matter which one);
 - 100 Items;
 - useVirtualLayout = true (on s:List) // useVirtualLayout = false is not
really an option!
 - cacheAsBitmap = true (on itemRenderer)
 - opaqueBackground is set;

So there are few things I've noticed:

 - Scrolling 'new items' makes the FPS drops considerably when the
itemRenderers are not cached yet;
 - I also know this is due virtualLayout and itemRenderer re-use;
 - Once cached, I have a 50-55 FPS scrolling in iPad2 (which is my target
device) - while scrolling and not cached yet, it goes down to 35 FPS.
 - CPU mode it goes down to 35-40fps / but I'm using GPU and I could get
around most things so far;


Having said that, the question is simple and straight forward:

 - Is it possible to have a s:List scrolling at 60 FPS at all times?
(smooth as Native or very close to that is what I'm willing to achieve)

stage.frameRate is set to 60 - StageQuality is BEST now because on LOW it
seems to not affect performance at all. (or with some AIR versions it
decreases performance) - I've tried AIR 3.1, 3.2, 3.3 and 3.4 - Best one so
far in terms of performance is 3.2, which is what I'm currently using (and
I would have no problem to switch over to try it out at this stage) - SDK
version is 4.6 / 4.8


Any help would be really appreciated; Even to tell me it will not get any
better than what I have right now...




D.

Re: Mobile List - Performance Question

Posted by jude <fl...@gmail.com>.
I think getTimer() is fine when trying to measure something in the ms range
and in this case it has to render in less than 15ms.

I was trying to think of using events such as creation complete and update
complete. So once a item renderer is created you'd set the data in the data
setter. From there you'd listen for the update complete event. I think
that's the time it takes to render? I'll have to do some tests when I get a
chance.

Also, in the data setter see how often that is getting called. If it's a
lot or it's the same values as the item renderer already has then I think
you can do a if (data==value) return; type of thing. That may shave off a
few nano seconds. :P

On Thu, Jul 26, 2012 at 3:15 PM, Daniel Ruiz <da...@gmail.com> wrote:

> Hi,
>
> Good point. I came across different codes on how to measure FPS, in many
> different sites and blogs. But they all use getTimer.
>
> I have no idea what else I could really use to measure performance -
> neither what they used - but IconItemRenderer with just 200 elements, no
> Icons, just a simple label running on GPU mode hits 60 fps. (thou CPU mode
> even the simplest case is 50 fps scrolling..)
>
> I will slowly add piece by piece and try to figure out what I'm doing
> wrong.. =)
>
>
>
> D.
>
>
> On Fri, Jul 27, 2012 at 7:54 AM, jude <fl...@gmail.com> wrote:
>
> > How do you test how long it takes to render the item renderer? I'm
> starting
> > to think in this situation that when it comes down to it that doesn't
> tell
> > you the actual ms it takes from start to finish to create and draw the
> row.
> >
> > I know Alex would know how to measure this as he spent the summer
> > optimizing ItemRenderers for 4.6 (I think).
> >
> > Also, on a side note, you would use getTimer() to get the current ms
> since
> > launch. That isn't as accurate as the tools the Flex team used since I
> read
> > that when they were working on the item renderers they were get sub
> > millisecond values.
> >
> > So the question is, what are they using to measure performance? Are there
> > more precise tools perhaps in the sample classes (which I know little
> > about)?
> >
> >
> > On Wed, Jul 25, 2012 at 12:02 AM, Daniel Ruiz <da...@gmail.com>
> > wrote:
> >
> > > You mean on the StyleableTextField? - Will try that..
> > >
> > > w/h is also fixed values on the override measure()
> > >
> > > On Wed, Jul 25, 2012 at 4:50 PM, Jonathan Campos <jonbcampos@gmail.com
> > > >wrote:
> > >
> > > > On Tue, Jul 24, 2012 at 11:37 PM, Daniel Ruiz <daniel.ruiz@gmail.com
> >
> > > > wrote:
> > > >
> > > > > If you know any combination I can use on IconItemRenderer (that
> ships
> > > > with
> > > > > the SDK) that keeps 60 FPS at all times scrolling - I would be keen
> > to
> > > > hear
> > > > > it, since I can at least go down the classes and have a guess
> whether
> > > or
> > > > > not should I spend time looking into this further.. I will also
> take
> > a
> > > > look
> > > > > if there is any layout really being used and if this could be
> causing
> > > > > slowdowns (calculations I don't really need)
> > > > >
> > > >
> > > > I have some tricks that up my performance.
> > > >
> > > > Solid backgrounds on the text to match the background of the list.
> > > reduces
> > > > alpha checks around text.
> > > >
> > > > explicitly set the width/height. saves the measuring.
> > > >
> > > > There are some more. Just can't remember right now.
> > > >
> > > >
> > > > --
> > > > Jonathan Campos
> > > >
> > >
> >
>

Re: Mobile List - Performance Question

Posted by Daniel Ruiz <da...@gmail.com>.
Hi,

Good point. I came across different codes on how to measure FPS, in many
different sites and blogs. But they all use getTimer.

I have no idea what else I could really use to measure performance -
neither what they used - but IconItemRenderer with just 200 elements, no
Icons, just a simple label running on GPU mode hits 60 fps. (thou CPU mode
even the simplest case is 50 fps scrolling..)

I will slowly add piece by piece and try to figure out what I'm doing
wrong.. =)



D.


On Fri, Jul 27, 2012 at 7:54 AM, jude <fl...@gmail.com> wrote:

> How do you test how long it takes to render the item renderer? I'm starting
> to think in this situation that when it comes down to it that doesn't tell
> you the actual ms it takes from start to finish to create and draw the row.
>
> I know Alex would know how to measure this as he spent the summer
> optimizing ItemRenderers for 4.6 (I think).
>
> Also, on a side note, you would use getTimer() to get the current ms since
> launch. That isn't as accurate as the tools the Flex team used since I read
> that when they were working on the item renderers they were get sub
> millisecond values.
>
> So the question is, what are they using to measure performance? Are there
> more precise tools perhaps in the sample classes (which I know little
> about)?
>
>
> On Wed, Jul 25, 2012 at 12:02 AM, Daniel Ruiz <da...@gmail.com>
> wrote:
>
> > You mean on the StyleableTextField? - Will try that..
> >
> > w/h is also fixed values on the override measure()
> >
> > On Wed, Jul 25, 2012 at 4:50 PM, Jonathan Campos <jonbcampos@gmail.com
> > >wrote:
> >
> > > On Tue, Jul 24, 2012 at 11:37 PM, Daniel Ruiz <da...@gmail.com>
> > > wrote:
> > >
> > > > If you know any combination I can use on IconItemRenderer (that ships
> > > with
> > > > the SDK) that keeps 60 FPS at all times scrolling - I would be keen
> to
> > > hear
> > > > it, since I can at least go down the classes and have a guess whether
> > or
> > > > not should I spend time looking into this further.. I will also take
> a
> > > look
> > > > if there is any layout really being used and if this could be causing
> > > > slowdowns (calculations I don't really need)
> > > >
> > >
> > > I have some tricks that up my performance.
> > >
> > > Solid backgrounds on the text to match the background of the list.
> > reduces
> > > alpha checks around text.
> > >
> > > explicitly set the width/height. saves the measuring.
> > >
> > > There are some more. Just can't remember right now.
> > >
> > >
> > > --
> > > Jonathan Campos
> > >
> >
>

Re: Mobile List - Performance Question

Posted by jude <fl...@gmail.com>.
How do you test how long it takes to render the item renderer? I'm starting
to think in this situation that when it comes down to it that doesn't tell
you the actual ms it takes from start to finish to create and draw the row.

I know Alex would know how to measure this as he spent the summer
optimizing ItemRenderers for 4.6 (I think).

Also, on a side note, you would use getTimer() to get the current ms since
launch. That isn't as accurate as the tools the Flex team used since I read
that when they were working on the item renderers they were get sub
millisecond values.

So the question is, what are they using to measure performance? Are there
more precise tools perhaps in the sample classes (which I know little
about)?


On Wed, Jul 25, 2012 at 12:02 AM, Daniel Ruiz <da...@gmail.com> wrote:

> You mean on the StyleableTextField? - Will try that..
>
> w/h is also fixed values on the override measure()
>
> On Wed, Jul 25, 2012 at 4:50 PM, Jonathan Campos <jonbcampos@gmail.com
> >wrote:
>
> > On Tue, Jul 24, 2012 at 11:37 PM, Daniel Ruiz <da...@gmail.com>
> > wrote:
> >
> > > If you know any combination I can use on IconItemRenderer (that ships
> > with
> > > the SDK) that keeps 60 FPS at all times scrolling - I would be keen to
> > hear
> > > it, since I can at least go down the classes and have a guess whether
> or
> > > not should I spend time looking into this further.. I will also take a
> > look
> > > if there is any layout really being used and if this could be causing
> > > slowdowns (calculations I don't really need)
> > >
> >
> > I have some tricks that up my performance.
> >
> > Solid backgrounds on the text to match the background of the list.
> reduces
> > alpha checks around text.
> >
> > explicitly set the width/height. saves the measuring.
> >
> > There are some more. Just can't remember right now.
> >
> >
> > --
> > Jonathan Campos
> >
>

Re: Mobile List - Performance Question

Posted by Daniel Ruiz <da...@gmail.com>.
You mean on the StyleableTextField? - Will try that..

w/h is also fixed values on the override measure()

On Wed, Jul 25, 2012 at 4:50 PM, Jonathan Campos <jo...@gmail.com>wrote:

> On Tue, Jul 24, 2012 at 11:37 PM, Daniel Ruiz <da...@gmail.com>
> wrote:
>
> > If you know any combination I can use on IconItemRenderer (that ships
> with
> > the SDK) that keeps 60 FPS at all times scrolling - I would be keen to
> hear
> > it, since I can at least go down the classes and have a guess whether or
> > not should I spend time looking into this further.. I will also take a
> look
> > if there is any layout really being used and if this could be causing
> > slowdowns (calculations I don't really need)
> >
>
> I have some tricks that up my performance.
>
> Solid backgrounds on the text to match the background of the list. reduces
> alpha checks around text.
>
> explicitly set the width/height. saves the measuring.
>
> There are some more. Just can't remember right now.
>
>
> --
> Jonathan Campos
>

Re: Mobile List - Performance Question

Posted by Jonathan Campos <jo...@gmail.com>.
On Tue, Jul 24, 2012 at 11:37 PM, Daniel Ruiz <da...@gmail.com> wrote:

> If you know any combination I can use on IconItemRenderer (that ships with
> the SDK) that keeps 60 FPS at all times scrolling - I would be keen to hear
> it, since I can at least go down the classes and have a guess whether or
> not should I spend time looking into this further.. I will also take a look
> if there is any layout really being used and if this could be causing
> slowdowns (calculations I don't really need)
>

I have some tricks that up my performance.

Solid backgrounds on the text to match the background of the list. reduces
alpha checks around text.

explicitly set the width/height. saves the measuring.

There are some more. Just can't remember right now.


-- 
Jonathan Campos

Re: Mobile List - Performance Question

Posted by Daniel Ruiz <da...@gmail.com>.
Hi,

Thanks for that.

The itemRenderer I created (extends IconItemRenderer) has about the same
performance as IconItemRenderer. Fact is, using IconItemRenderer also does
not give me 60 fps (very close when CAB is on and we are scrolling parts of
the list that has been renderered already).

useVirtualLayout false did not helped me at all in my tests - I was never
testing with proper data thou, because the list can push up to 1600 items -
but doing some SampleData (around 50) it did not made the FPS stable.

If you know any combination I can use on IconItemRenderer (that ships with
the SDK) that keeps 60 FPS at all times scrolling - I would be keen to hear
it, since I can at least go down the classes and have a guess whether or
not should I spend time looking into this further.. I will also take a look
if there is any layout really being used and if this could be causing
slowdowns (calculations I don't really need)

All elements on my custom renderer have "fixed" x/y points and I could also
set a fixed w/h (thou I'm using getPrefered methods). I don't think I need
a 'Layout' class as I do all the layout directly on the layoutContents. I
had a feeling the itemRenderer would not use anything like that.. I may
have to go back to the docs!



Cheers,
D.
On Wed, Jul 25, 2012 at 4:05 PM, jude <fl...@gmail.com> wrote:

> Hi Daniel,
>
> Just throwing out a few ideas. Have you modified the Label or Icon
> ItemRenderers or are they stock? What options do you have set in the layout
> of the List? Is contentJustify used? Do you have a lot of styles defined?
> You could also turn off autoDrawbackground but that may not do much.
>
> If you've overridden the data setter then test to see if the data is not
> already the same. You could also try substituting the list with a DataGroup
> or turning the vertical scroll policy to on rather than auto.
>
> I think the best bet is to set useVirtualLayout to false if possible. I
> think as far as where or how to speed up the List that would probably be in
> the Layout (VerticalLayout & HorizontalLayout) classes as well as the
> ItemRenderers.
>
> On Tue, Jul 24, 2012 at 6:16 PM, Daniel Ruiz <da...@gmail.com>
> wrote:
>
> > Hi Jonathan,
> >
> > Thanks for the input.
> >
> > I don't have to hit 60 FPS. Matter of fact, I am developing an SAP Mobile
> > App. and SAP has something on App Store that scrolls smoothly (of course,
> > Native iOS) - And I'm aware Native will usually or always (as long
> properly
> > coded) have a better performance than 'generated' code; I just don't want
> > to be attacked on 'poor performance because you use Flash' sort of
> > discussion (not with my client but with competition, which uses iOS
> Native
> > and wants to have the pie) - Performance right now is acceptable, but I
> > would like to see a bit more to feel OK about it.
> >
> > All the other things in the app are 60 FPS (animations between views for
> > instance, using a Tweener library) and only slows down when I have over
> 12
> > views stacked (I dont use view navigator, I created a component which
> > displays two views and you navigate with swipes) - it works exactly and
> > perfectly like
> > http://itunes.apple.com/nz/app/sap-crm-sales/id476539891?mt=8 -
> > but the only thing I could not achieve yet is the same 'scroll' smothness
> > using Lists.
> >
> > My section list (exactly like what they have on that app with the labels
> > click on the letters and all) takes 0ms / 1ms at most so there is
> something
> > else taking 15ms each update. But going back to IconItemRenderer does not
> > improve performance at all (just like the same).
> >
> >
> > Also, if anyone has a *hint* what s:List could be doing better, I can
> take
> > a look at that on my free time and see if I can improve a bit (thou I
> > hardly think I have what it takes to go down that deeper)
> >
> >
> >
> > Cheers,
> > D.
> >
> > On Wed, Jul 25, 2012 at 10:53 AM, Jonathan Campos <jonbcampos@gmail.com
> > >wrote:
> >
> > > On Tue, Jul 24, 2012 at 5:20 PM, Daniel Ruiz <da...@gmail.com>
> > > wrote:
> > >
> > > > What I'm looking for is a solid 60 FPS while scrolling
> > (IconItemRenderer)
> > > > which won't go down at all no matter how fast the user scrolls.
> > > >
> > >
> > > I can tell you with my experiments I have not seen this level of
> > > performance. Usually there is some performance hit when using Flex. The
> > > question is always is the hit within acceptable levels. If you have to
> > hit
> > > 60 FPS no questions asked then your only option may be native. And even
> > > then you'd have to do extra work to keep your list items as light as
> > > possible.
> > >
> > > List scrolling no matter the endpoint is a heavy operation.
> > >
> > > --
> > > Jonathan Campos
> > >
> >
>

Re: Mobile List - Performance Question

Posted by jude <fl...@gmail.com>.
Hi Daniel,

Just throwing out a few ideas. Have you modified the Label or Icon
ItemRenderers or are they stock? What options do you have set in the layout
of the List? Is contentJustify used? Do you have a lot of styles defined?
You could also turn off autoDrawbackground but that may not do much.

If you've overridden the data setter then test to see if the data is not
already the same. You could also try substituting the list with a DataGroup
or turning the vertical scroll policy to on rather than auto.

I think the best bet is to set useVirtualLayout to false if possible. I
think as far as where or how to speed up the List that would probably be in
the Layout (VerticalLayout & HorizontalLayout) classes as well as the
ItemRenderers.

On Tue, Jul 24, 2012 at 6:16 PM, Daniel Ruiz <da...@gmail.com> wrote:

> Hi Jonathan,
>
> Thanks for the input.
>
> I don't have to hit 60 FPS. Matter of fact, I am developing an SAP Mobile
> App. and SAP has something on App Store that scrolls smoothly (of course,
> Native iOS) - And I'm aware Native will usually or always (as long properly
> coded) have a better performance than 'generated' code; I just don't want
> to be attacked on 'poor performance because you use Flash' sort of
> discussion (not with my client but with competition, which uses iOS Native
> and wants to have the pie) - Performance right now is acceptable, but I
> would like to see a bit more to feel OK about it.
>
> All the other things in the app are 60 FPS (animations between views for
> instance, using a Tweener library) and only slows down when I have over 12
> views stacked (I dont use view navigator, I created a component which
> displays two views and you navigate with swipes) - it works exactly and
> perfectly like
> http://itunes.apple.com/nz/app/sap-crm-sales/id476539891?mt=8 -
> but the only thing I could not achieve yet is the same 'scroll' smothness
> using Lists.
>
> My section list (exactly like what they have on that app with the labels
> click on the letters and all) takes 0ms / 1ms at most so there is something
> else taking 15ms each update. But going back to IconItemRenderer does not
> improve performance at all (just like the same).
>
>
> Also, if anyone has a *hint* what s:List could be doing better, I can take
> a look at that on my free time and see if I can improve a bit (thou I
> hardly think I have what it takes to go down that deeper)
>
>
>
> Cheers,
> D.
>
> On Wed, Jul 25, 2012 at 10:53 AM, Jonathan Campos <jonbcampos@gmail.com
> >wrote:
>
> > On Tue, Jul 24, 2012 at 5:20 PM, Daniel Ruiz <da...@gmail.com>
> > wrote:
> >
> > > What I'm looking for is a solid 60 FPS while scrolling
> (IconItemRenderer)
> > > which won't go down at all no matter how fast the user scrolls.
> > >
> >
> > I can tell you with my experiments I have not seen this level of
> > performance. Usually there is some performance hit when using Flex. The
> > question is always is the hit within acceptable levels. If you have to
> hit
> > 60 FPS no questions asked then your only option may be native. And even
> > then you'd have to do extra work to keep your list items as light as
> > possible.
> >
> > List scrolling no matter the endpoint is a heavy operation.
> >
> > --
> > Jonathan Campos
> >
>

Re: Mobile List - Performance Question

Posted by Daniel Ruiz <da...@gmail.com>.
Hi Jonathan,

Thanks for the input.

I don't have to hit 60 FPS. Matter of fact, I am developing an SAP Mobile
App. and SAP has something on App Store that scrolls smoothly (of course,
Native iOS) - And I'm aware Native will usually or always (as long properly
coded) have a better performance than 'generated' code; I just don't want
to be attacked on 'poor performance because you use Flash' sort of
discussion (not with my client but with competition, which uses iOS Native
and wants to have the pie) - Performance right now is acceptable, but I
would like to see a bit more to feel OK about it.

All the other things in the app are 60 FPS (animations between views for
instance, using a Tweener library) and only slows down when I have over 12
views stacked (I dont use view navigator, I created a component which
displays two views and you navigate with swipes) - it works exactly and
perfectly like http://itunes.apple.com/nz/app/sap-crm-sales/id476539891?mt=8 -
but the only thing I could not achieve yet is the same 'scroll' smothness
using Lists.

My section list (exactly like what they have on that app with the labels
click on the letters and all) takes 0ms / 1ms at most so there is something
else taking 15ms each update. But going back to IconItemRenderer does not
improve performance at all (just like the same).


Also, if anyone has a *hint* what s:List could be doing better, I can take
a look at that on my free time and see if I can improve a bit (thou I
hardly think I have what it takes to go down that deeper)



Cheers,
D.

On Wed, Jul 25, 2012 at 10:53 AM, Jonathan Campos <jo...@gmail.com>wrote:

> On Tue, Jul 24, 2012 at 5:20 PM, Daniel Ruiz <da...@gmail.com>
> wrote:
>
> > What I'm looking for is a solid 60 FPS while scrolling (IconItemRenderer)
> > which won't go down at all no matter how fast the user scrolls.
> >
>
> I can tell you with my experiments I have not seen this level of
> performance. Usually there is some performance hit when using Flex. The
> question is always is the hit within acceptable levels. If you have to hit
> 60 FPS no questions asked then your only option may be native. And even
> then you'd have to do extra work to keep your list items as light as
> possible.
>
> List scrolling no matter the endpoint is a heavy operation.
>
> --
> Jonathan Campos
>

Re: Mobile List - Performance Question

Posted by Jonathan Campos <jo...@gmail.com>.
On Tue, Jul 24, 2012 at 5:20 PM, Daniel Ruiz <da...@gmail.com> wrote:

> What I'm looking for is a solid 60 FPS while scrolling (IconItemRenderer)
> which won't go down at all no matter how fast the user scrolls.
>

I can tell you with my experiments I have not seen this level of
performance. Usually there is some performance hit when using Flex. The
question is always is the hit within acceptable levels. If you have to hit
60 FPS no questions asked then your only option may be native. And even
then you'd have to do extra work to keep your list items as light as
possible.

List scrolling no matter the endpoint is a heavy operation.

-- 
Jonathan Campos

Re: Mobile List - Performance Question

Posted by Daniel Ruiz <da...@gmail.com>.
Hi Phillipe,

Thanks for your input.

#1 and #3 are about Skinning, and the issue lies with LabelItemRender /
IconItemRenderer delivered in the SDK. So I don't believe 'skinning' would
be the issue there.
#2 is nice.. but you can see the max he gets is 40, and to be honest this
is very low. (maybe SDK? maybe he was on iPad 1, god knows..)

What I'm looking for is a solid 60 FPS while scrolling (IconItemRenderer)
which won't go down at all no matter how fast the user scrolls. I mean, I
would like to know if *anyone* actually achieved such result using any sort
of combination AIR/FlexSDK - I saw some video on youtube about
IconItemRenderer on iPad3 (probably using Starling) with a good FPS but the
person IMO was *cheating* and scrolling on items that are in memory already.



Cheers,
D.

On Tue, Jul 24, 2012 at 8:35 PM, Philippe Mouawad <
p.mouawad@ubik-ingenierie.com> wrote:

> Hello,
> Here are some pointers:
> http://www.adobe.com/devnet/flex/articles/mobile-skinning-part1.html
> http://flexponential.com/2011/04/20/flex-performance-tips-tricks/
>
> http://help.adobe.com/en_US/flex/mobileapps/WS19f279b149e7481c698e85712b3011fe73-7fff.html
>
> Regards
> Philippe M.
> http://www.ubik-ingenierie.com
>
> On Tue, Jul 24, 2012 at 1:30 AM, Daniel Ruiz <da...@gmail.com>
> wrote:
>
> > Hi,
> >
> > I'm quite new in Flex Development. While performance in general is pretty
> > acceptable, there is still 'a lot' for me to get an App I'm creating
> really
> > smooth.
> >
> > On Lists, I have a small issue - and I'm not sure what to do to improve
> > performance - or if it's even possible to improve more at this stage.
> >
> > The setup I have:
> >
> >  - s:List, IconItemRenderer / LabelItemRenderer (doesn't matter which
> one);
> >  - 100 Items;
> >  - useVirtualLayout = true (on s:List) // useVirtualLayout = false is not
> > really an option!
> >  - cacheAsBitmap = true (on itemRenderer)
> >  - opaqueBackground is set;
> >
> > So there are few things I've noticed:
> >
> >  - Scrolling 'new items' makes the FPS drops considerably when the
> > itemRenderers are not cached yet;
> >  - I also know this is due virtualLayout and itemRenderer re-use;
> >  - Once cached, I have a 50-55 FPS scrolling in iPad2 (which is my target
> > device) - while scrolling and not cached yet, it goes down to 35 FPS.
> >  - CPU mode it goes down to 35-40fps / but I'm using GPU and I could get
> > around most things so far;
> >
> >
> > Having said that, the question is simple and straight forward:
> >
> >  - Is it possible to have a s:List scrolling at 60 FPS at all times?
> > (smooth as Native or very close to that is what I'm willing to achieve)
> >
> > stage.frameRate is set to 60 - StageQuality is BEST now because on LOW it
> > seems to not affect performance at all. (or with some AIR versions it
> > decreases performance) - I've tried AIR 3.1, 3.2, 3.3 and 3.4 - Best one
> so
> > far in terms of performance is 3.2, which is what I'm currently using
> (and
> > I would have no problem to switch over to try it out at this stage) - SDK
> > version is 4.6 / 4.8
> >
> >
> > Any help would be really appreciated; Even to tell me it will not get any
> > better than what I have right now...
> >
> >
> >
> >
> > D.
> >
>
>
>
> --
> Cordialement.
> Philippe Mouawad.
> Ubik-Ingénierie
>

Re: Mobile List - Performance Question

Posted by Philippe Mouawad <p....@ubik-ingenierie.com>.
Hello,
Here are some pointers:
http://www.adobe.com/devnet/flex/articles/mobile-skinning-part1.html
http://flexponential.com/2011/04/20/flex-performance-tips-tricks/
http://help.adobe.com/en_US/flex/mobileapps/WS19f279b149e7481c698e85712b3011fe73-7fff.html

Regards
Philippe M.
http://www.ubik-ingenierie.com

On Tue, Jul 24, 2012 at 1:30 AM, Daniel Ruiz <da...@gmail.com> wrote:

> Hi,
>
> I'm quite new in Flex Development. While performance in general is pretty
> acceptable, there is still 'a lot' for me to get an App I'm creating really
> smooth.
>
> On Lists, I have a small issue - and I'm not sure what to do to improve
> performance - or if it's even possible to improve more at this stage.
>
> The setup I have:
>
>  - s:List, IconItemRenderer / LabelItemRenderer (doesn't matter which one);
>  - 100 Items;
>  - useVirtualLayout = true (on s:List) // useVirtualLayout = false is not
> really an option!
>  - cacheAsBitmap = true (on itemRenderer)
>  - opaqueBackground is set;
>
> So there are few things I've noticed:
>
>  - Scrolling 'new items' makes the FPS drops considerably when the
> itemRenderers are not cached yet;
>  - I also know this is due virtualLayout and itemRenderer re-use;
>  - Once cached, I have a 50-55 FPS scrolling in iPad2 (which is my target
> device) - while scrolling and not cached yet, it goes down to 35 FPS.
>  - CPU mode it goes down to 35-40fps / but I'm using GPU and I could get
> around most things so far;
>
>
> Having said that, the question is simple and straight forward:
>
>  - Is it possible to have a s:List scrolling at 60 FPS at all times?
> (smooth as Native or very close to that is what I'm willing to achieve)
>
> stage.frameRate is set to 60 - StageQuality is BEST now because on LOW it
> seems to not affect performance at all. (or with some AIR versions it
> decreases performance) - I've tried AIR 3.1, 3.2, 3.3 and 3.4 - Best one so
> far in terms of performance is 3.2, which is what I'm currently using (and
> I would have no problem to switch over to try it out at this stage) - SDK
> version is 4.6 / 4.8
>
>
> Any help would be really appreciated; Even to tell me it will not get any
> better than what I have right now...
>
>
>
>
> D.
>



-- 
Cordialement.
Philippe Mouawad.
Ubik-Ingénierie