Meego Wiki
Views

ARM/N900/Performance

From MeeGo wiki
< ARM | N900
Revision as of 07:43, 10 June 2011 by Stskeeps (Talk | contribs)
Jump to: navigation, search

Contents

DE Performance page

UX & Performance team

  • Communications
    • IRC-channel #meego-arm at freenode
    • DE daily meetings (time tbd)
    • meego-handset mailing list
  • Contributors
    • Vesa-Matti Hartikainen IRC-nick: veskuh
    • Vijay Nayani IRC-nick: vnayani

Problems

  • Startup time of applications
  • Startup time of the device
  • Right after the homescreen has loaded, after the first boot, device is unusable for a while
  • Memory use
  • Slow I/O performance 2-20x slower than Maemo5 on N900
  • UI scrolling freezes for 1-2s from time to time

Task list

UX fixes

Tasks

  • Collect bugs to metabug (Kristiine)
  • Theming bugs
  • Localization issues (Apps team)
  • Close button for meego-ux based apps
  • Remove systemui looking bar from meego-ux apps (it's confusing since it is not fully functional)

Reducing App Startup time

Tasks

  • Investigate if booster really helps (veskuh)
  • eMMC performance investigation, maemo is 2-20x faster? see bug #18295
  • last resort type of thing: taking NAND to use as swap (and destroying maemo installation)

Tasks Done

  • eMMC vs. MMC, according to Sage, no major difference in old experiments

Reducing memory use

Tasks

  • Remove unused applifed processes.
  • lower GLES ParamBuffer size
  • Merge meego-volume-control to systemui
  • adjust stack sizes
  • ramzswap trial

Tasks Done

Improving first boot

Tasks

  • tracker to preindex filesystem to improve first boot. see bug #18759
  • Reduce the number of .desktop files and icons meegohome scans at first boot

Tasks Done

Improving system startup

Tasks

  • Reduce the list of autostarted apps.
  • Delay startup of dialer (by 30s)
  • tracker configuration

Tasks Done

  • autostarted backlight setup.desktop file removed from the nokia-n900-configs (mce handles backlight)
  • bootchart generated svg from the N900 processes starting up attached to bug https://bugs.meego.com/show_bug.cgi?id=9527

Improving UI Performance

Tasks

  • Check if newer MTF improves performance
  • Check if newer Qt improves performance

Tasks Done

Misc

Tasks

  • optimizing MTF packages, there might be some configuration options, etc.?
  • CGROUPS optimization, most likely still not done
  • cache some often used data in NAND and symlink there
  • test overclock with known testing (from qa-tools guys perhaps)
    • kjokinie: Tested on my set up boot-times with some overclock configurations already
      • practically it does not help at least boot time
      • however, at least audio player seemed much more responsive, so application performances should still be tested by QA.
  • real microsdhc tests based on class speed rating
    • actually answer specific questions about how write/read speed effect perf
      • app startup times
      • general usage
      • media write times
      • cataloguing media
  • Swap on memory card (probably will not help if the os is on the card also, otherwise might)
  • Taking fennec more frequently from upstream beta repository http://lists.meego.com/pipermail/meego-handset/2011-June/000467.html
  • Profile startup of simple MTF, QML, and Qt apps
  • Profile memory use of simple MTF, QML, and Qt apps
  • Investigate configuration options for MTF
  • Investigate configuration options for Qt
  • Investigate configuration options for QML
  • Update MTF (libmeegotouch, mcompositor, home, system ui, etc. ) to get latest optimizations from upstream
  • Update Qt

Tasks Done

  • Carsten tweaked kernel virtual memory settings (increased swappiness), Fennec bootup improved a lot and also system responsivness

Benchmark results

  • Results from Q/A http://wiki.meego.com/ARM/N900/QA/Performance
  • Different class SD card benchmarking
    • SDcard benchmarking 060611.jpg
    • Used image 05-30.1 acceptance image
    • With class 10 card image worked really unstable. Measurements were got after several tries.
    • Current class10 measurements are not comparable but give somekind of direction
  • SunSpider (JavaScript performance
    • 6.1s with GPE MiniBrowser (image DE.2011-05-30 acceptance)
    • 6.8s with Fennec (image DE.2011-05-30 acceptance)
    • These are actually pretty good results. Indicates that raw CPU perfomance is ok.
  • widgetsgallery -timedemo -log-fps
Page name                    StaticPageBenchmark (0)  PanningBenchmark (0)  RotationBenchmark (90)  StaticPageBenchmark (90)  PanningBenchmark (90)  RotationBenchmark (0)  
ApplicationMenu                 48fps | 2988ms                 n/a | n/a             25fps |  557ms          53fps | 2984ms                   n/a | n/a             29fps |  578ms      
DisplayModes                    55fps | 2989ms           54fps |  421ms        40fps |  574ms          53fps | 2983ms                   n/a | n/a             47fps |  546ms      
ToolBar                         51fps | 2972ms           41fps |  503ms        34fps |  602ms          55fps | 2998ms            46fps |  298ms         20fps |  250ms      
CustomNavigationBar             53fps | 2989ms                 n/a | n/a             46fps |  579ms          54fps | 2980ms                   n/a | n/a             52fps |  572ms      
Label                           50fps | 3157ms           45fps |   87ms               n/a | n/a              54fps | 2989ms                   n/a | n/a             40fps |  573ms      
Image                           55fps | 2996ms           55fps |  379ms               n/a | n/a              52fps | 2989ms            54fps |  129ms          7fps |  139ms       
ProgressBar                     49fps | 2981ms                 n/a | n/a             34fps |  644ms          54fps | 2973ms                   n/a | n/a             36fps |  627ms      
Spinner                         52fps | 2989ms                 n/a | n/a                    n/a | n/a              53fps | 2989ms                   n/a | n/a             27fps |  436ms       
PushButton                      48fps | 2982ms           45fps | 3427ms        28fps |  671ms          47fps | 2985ms            44fps | 4521ms                n/a | n/a          
IconButton                      52fps | 2991ms                 n/a | n/a             35fps |  674ms          54fps | 2989ms                   n/a | n/a             38fps |  621ms      
Switch                          54fps | 2989ms                 n/a | n/a             31fps |  694ms          54fps | 2991ms                   n/a | n/a             28fps |  657ms      
Checkbox                        52fps | 2989ms                 n/a | n/a             30fps |  780ms          54fps | 2997ms                   n/a | n/a             38fps |  649ms      
ButtonGroup                     53fps | 3005ms           27fps |  323ms               n/a | n/a              50fps | 2988ms            52fps |  491ms                n/a | n/a          
SingleSelectionDialogsPage      56fps | 2998ms           46fps |  345ms               n/a | n/a              53fps | 3004ms                   n/a | n/a             42fps |  654ms      
QueryDialogsPage                50fps | 2997ms                 n/a | n/a             35fps |  696ms          53fps | 2987ms                   n/a | n/a             36fps |  655ms      
SheetsPage                      54fps | 2988ms           59fps |  151ms               n/a | n/a              55fps | 2982ms                   n/a | n/a             40fps |  666ms      
BannersPage                     51fps | 2996ms                 n/a | n/a             37fps |  740ms          54fps | 3000ms                   n/a | n/a             38fps |  671ms      
NotificationsPage               54fps | 2994ms                 n/a | n/a             35fps |  733ms          55fps | 3000ms                   n/a | n/a             39fps |  678ms      
List                            54fps | 2989ms           53fps |20539ms         2fps |  485ms          56fps | 2973ms            51fps |19630ms                n/a | n/a          
Grid                            16fps | 2961ms           48fps | 2777ms        16fps | 1016ms          42fps | 3147ms            48fps | 3252ms                n/a | n/a          
ObjectMenu                      44fps | 2988ms           52fps |  248ms               n/a | n/a              54fps | 2991ms            55fps |  181ms                n/a | n/a          
ComboBox                        52fps | 2946ms                 n/a | n/a             25fps |  856ms          53fps | 2984ms                   n/a | n/a             30fps |  784ms      
ContentItems                    55fps | 2987ms           39fps | 4197ms               n/a | n/a              54fps | 2988ms            29fps | 3483ms          7fps |  407ms      
SpeechBubble                    52fps | 2986ms           47fps | 3842ms               n/a | n/a              51fps | 2989ms            29fps | 3906ms                n/a | n/a          
TextEntry                       54fps | 2988ms           43fps | 3209ms               n/a | n/a              52fps | 2988ms            35fps | 2541ms                n/a | n/a          
TextEntryNavigation             53fps | 2989ms                 n/a | n/a             18fps |  912ms          50fps | 2982ms                   n/a | n/a             22fps |  794ms      
TextEntryAttributeExtension     54fps | 2988ms           41fps |  192ms               n/a | n/a              53fps | 2988ms                   n/a | n/a             19fps |  860ms      
Slider                          54fps | 2997ms           37fps |  404ms               n/a | n/a              53fps | 2989ms                   n/a | n/a             18fps |  865ms      
InputFeedback                   52fps | 2988ms           55fps |   90ms        19fps |  902ms          40fps | 2988ms            43fps |   69ms                n/a | n/a          
Information Display             53fps | 3001ms           26fps |  188ms        24fps |  930ms          54fps | 2999ms                   n/a | n/a             28fps |  857ms      
Take a screenshot               49fps | 3217ms                 n/a | n/a             23fps | 1028ms          55fps | 2978ms                   n/a | n/a             26fps |  893ms
    • Conclusion: Graphis performance seems to be ok
  • processes eating more than 2000kb of memory (2010-06-08)
    • (ps -e -orss=,args= | sort -b -k1,1n | pr -TW100)
 2016 /usr/sbin/ofonod
 2228 /usr/sbin/connmand -W nl80211,wext
 2400 uxlaunch
 2616 /sbin/mce -d
 2624 /usr/libexec/upowerd
 2952 /usr/sbin/dsme -p /usr/lib/dsme/libstartup.so
 3084 /usr/libexec/mission-control-5
 3440 /usr/bin/meego-volume-control
 3616 /usr/sbin/sensord -c=/etc/sensorfw/sensord-rx_51.conf -d --log-target=4 --log-file-path=/var/l
 3900 /usr/bin/timed
 3984 /usr/lib/tumbler-1/tumblerd
 4084 /usr/bin/pulseaudio --start -n --file=/etc/pulse/arm_nokia_rx_51_board.pa
 4564 /usr/sbin/ohmd
 7172 /usr/libexec/tracker-miner-fs
 7460 /usr/bin/applifed
12384 /usr/bin/applauncherd.bin                                                   
14160 /usr/libexec/tracker-store
14524 /usr/bin/messageserver
16568 /usr/bin/Xorg :0 -dpi 120 -nolisten tcp -noreset -auth /home/meego/.Xauthority -nocursor vt2
20108 /usr/bin/mthemedaemon
21676 /usr/bin/mcompositor
26820 /usr/bin/meego-im-uiserver -remote-theme
27344 booster-m
27852 /usr/bin/mdecorator -software -remote-theme
32620 /usr/bin/sysuid -remote-theme
33172 /usr/bin/meegotouchhome -remote-theme
38544 /usr/bin/dialer -prestart

  • Conclusion: meego-volume-control went down from 26000 kb to 3440 thanks for the qml ripout
  • Can we reduce the mem usage of processes like sysuid, mdecorator, mthemedaemon
  • Is booster-m really improving our performance as it takes itself a lot of from our memory that we do not have any extra without swapping?
    • by removing the applauncherd (process starting booster-m) and tracker-store and delaying the dialer ui (40000 kb) launch by 30 second, bootup time will improved from 72 second to 59.

Tools

Ideas

Use settings from M5 rc scripts, such as reducing ptys, etc to save memory

Personal tools