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