Return-Path: X-Original-To: apmail-flex-issues-archive@minotaur.apache.org Delivered-To: apmail-flex-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 42E19174F8 for ; Mon, 20 Apr 2015 03:07:59 +0000 (UTC) Received: (qmail 62576 invoked by uid 500); 20 Apr 2015 03:07:59 -0000 Delivered-To: apmail-flex-issues-archive@flex.apache.org Received: (qmail 62532 invoked by uid 500); 20 Apr 2015 03:07:58 -0000 Mailing-List: contact issues-help@flex.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flex.apache.org Delivered-To: mailing list issues@flex.apache.org Received: (qmail 62522 invoked by uid 99); 20 Apr 2015 03:07:58 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Apr 2015 03:07:58 +0000 Date: Mon, 20 Apr 2015 03:07:58 +0000 (UTC) From: "DarkStone (JIRA)" To: issues@flex.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (FLEX-34821) Improvement of the scroller perfomances on mobile devices MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/FLEX-34821?page=3Dcom.atlassian= .jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D1450= 2249#comment-14502249 ]=20 DarkStone edited comment on FLEX-34821 at 4/20/15 3:07 AM: ----------------------------------------------------------- Testing Android phone hardware specification: Model: M1 Note 5.5 inch screen, 1920x1080, 401 ppi 2GB RAM, 16GB ROM ARM=C2=AE Cortex=C2=AE-A53 1.7GHz x 8 (64 bit) Mali T760 MP2/700MHz GPU Full specification go here: http://www.meizu.com/en/products/m1note/spec.html Now here is the Scout data of your apk: Swiping the list like madly with cacheViewport set to false: Average framerate: 59.3 fps Average CPU usage: 73% Peak CPU usage: 100% Total Memory usage: 28 MB Swiping the list like madly with cacheViewport set to true: Average framerate: 58.9 fps Average CPU usage: 33% Peak CPU usage: 105% Total Memory usage: 82 MB was (Author: darkstone): Testing Android phone hardware specification: Model: M1 Note 5.5 inch screen, 1920x1080, 401 ppi 2GB RAM, 16GB ROM ARM=C2=AE Cortex=C2=AE-A53 1.7GHz x 8 Mali T760 MP2/700MHz GPU Full specification go here: http://www.meizu.com/en/products/m1note/spec.html Now here is the Scout data of your apk: Swiping the list like madly with cacheViewport set to false: Average framerate: 59.3 fps Average CPU usage: 73% Peak CPU usage: 100% Total Memory usage: 28 MB Swiping the list like madly with cacheViewport set to true: Average framerate: 58.9 fps Average CPU usage: 33% Peak CPU usage: 105% Total Memory usage: 82 MB > Improvement of the scroller perfomances on mobile devices > --------------------------------------------------------- > > Key: FLEX-34821 > URL: https://issues.apache.org/jira/browse/FLEX-34821 > Project: Apache Flex > Issue Type: Improvement > Reporter: After24 > Attachments: 01 Swiping the list like madly with cacheViewport se= t to false.png, 02 Swiping the list like madly with cacheViewport set to tr= ue.png, ViewportCache.zip, ViewportCacheDemo.apk, ViewportCacheDemo.flm > > > This is an experimentation on the flex Scroller component to improve the = framerate of the scrolling operations. > This optimization based on the blitting technique. > A new boolean property named cacheViewport is added to the Scroller compo= nent. When cacheViewPort is set to true, all scrolling operations are perfo= rmed according to the following cycle : > =20 > 1 - A bitmap copy of the viewport is made just before the next scrolling = operation (large viewports are cached in multiple tiles if necessary) > 2 - When the user starts a scrolling operation, the actual viewport is re= placed by its bitmap version and the scrolling is executed by drawing the v= iewport according to its verticalScrollPosition and horizontalScrollPositio= n properties. > 3 - At the end of the scroll operation, the bitmap viewport is replaced b= y its actual version. > 4 - Between each scrolling operations, when the user interacts with the v= iewport content, a process mark as 'dirty' every regions of the viewport th= at are likely to have changed during those interactions. Every dirty region= is redrawn before the next scrolling operation. > Pros : > - 60 FPS scrolling, even on old devices. > - Performance is no longer dependant on the viewport complexity. > - Can be used with the list component if it contains a moderate number of= rows (useVirtualLayout must be set to false though) > Cons : > - There is a slight lag (dependant on the device processor) during the vi= ewport rasterization and the process of redrawing every dirty regions. > - Doesn't support virtualized layouts. > - Animated elements of the viewport freezes during scrolling operations. > - Render mode must be set to gpu on the current = version. > - Depending on its dimensions, the viewport rasterization process can con= sume large amounts of memory. > A demo application can be downloaded on the android play market here : ht= tps://play.google.com/store/apps/details?id=3Dair.fr.after24.ViewportCacheD= emo > Source code is attached. -- This message was sent by Atlassian JIRA (v6.3.4#6332)