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.