I was thinking the same thing.

Maybe incorporating this into some mobile skins?

On Dec 1, 2014, at 3:01 PM, Erik de Bruin <e...@ixsoftware.nl> wrote:

> Is there a way to bring this solution into the SDK and make it the
> default behavior on mobile? Maybe register these event handlers upon
> creation, dependant on Capabilities or some such?
> 
> It would sure be a nice addition to the next release ...
> 
> EdB
> 
> 
> 
> On Mon, Dec 1, 2014 at 12:26 PM, jude <flexcapaci...@gmail.com> wrote:
>> This is great!
>> 
>> On Sat, Nov 29, 2014 at 1:04 PM, DarkStone <darkst...@163.com> wrote:
>> 
>>> Hi after24,
>>> 
>>> 
>>> I've tried doing the scrolling optimization by using
>>> BitmapData.copyPixels() as you described, and I have also tried
>>> cacheAsBitmap, the result is, the performance between both are the same!
>>> So there is no need to modify Scroller.as anymore, the cacheAsBitmap can
>>> easily do the same thing.
>>> 
>>> 
>>> Here is the sample code for how to use cacheAsBitmap to improve the
>>> scrolling performance:
>>> <s:Scroller width="100%" height="100%">
>>>    <s:Group>
>>>        <s:DataGroup id="realContent"
>>> touchInteractionStart="realContent.mouseChildren=false;realContent.cacheAsBitmap=true;"
>>> touchInteractionEnd="realContent.mouseChildren=true;realContent.cacheAsBitmap=false;"
>>> itemRenderer="com.test.renderers.MyItemRenderer" dataProvider="{someData}"
>>> width="100%">
>>>            <s:layout>
>>>                <s:VerticalLayout useVirtualLayout="false"/>
>>>            </s:layout>
>>>        </s:DataGroup>
>>>    </s:Group>
>>> </s:Scroller>
>>> The essential elements are:
>>> 1. You have to put a Group inside the Scroller, then put the real content
>>> (<s:DataGroup id="realContent">) inside that Group.
>>> 2. The layout of the realContent, you have to set its useVirtualLayout to
>>> false (the default value is false).
>>> 3. Listen for the realContent's touchInteractionStart and
>>> touchInteractionEnd event:
>>> When touchInteractionStart, disable any mouse and touch interactions of
>>> the realContent's mouseChildren by setting realContent.mouseChildren =
>>> false, then turn on the cache for realContent by setting
>>> realContent.cacheAsBitmap = true.
>>> When touchInteractionEnd, reverse the changes you made for the realContent.
>>> That's it! It's very easy to improve the scrolling performance by doing
>>> so. It's the same scrolling performance result when compared to the
>>> BitmapData.copyPixels() approach, yet cacheAsBitmap is much easier to
>>> understand and handle, so we don't have to do the modify the Scroller.as
>>> any more, the cacheAsBitmap approach is the best way to improve the
>>> scrolling performance now!
>>> If you not believe me, test it yourself : )
>>> 
>>> 
>>> DarkStone
>>> 2014-11-30
>>> 
>>> 
>>> 
>>> At 2014-10-29 18:56:09, "after24" <vinc...@after24.net> wrote:
>>>> Hi Jude,
>>>> 
>>>> /*have you tried setting include in layout to false when setting visible
>>> to
>>>> false?*/
>>>> 
>>>> Yes, this property is set to false during scroll operations.
>>>> 
>>>> It seems that this performance decrease is caused by scout... when scout
>>> is
>>>> off, there is no difference between the two approaches (visible = false or
>>>> removeElement).
>>>> 
>>>> So it looks like this optimization is viable :-)
>>>> 
>>>> I am a bit busy this week but I will add a ticket on the JIRA with a
>>> sample
>>>> application as soon as possible.
>>>> 
>>>> Thank you.
>>>> 
>>>> 
>>>> 
>>>> --
>>>> View this message in context:
>>> http://apache-flex-development.2333347.n4.nabble.com/Scroller-optimization-tp41774p41910.html
>>>> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>>> 
> 
> 
> 
> -- 
> Ix Multimedia Software
> 
> Jan Luykenstraat 27
> 3521 VB Utrecht
> 
> T. 06-51952295
> I. www.ixsoftware.nl

Reply via email to