(→Reducing App Startup time) |
(→Improving UI Performance) |
||
| (18 intermediate revisions not shown) | |||
| Line 1: | Line 1: | ||
= CE Performance page = | = CE Performance page = | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
== Problems == | == Problems == | ||
| Line 19: | Line 7: | ||
* UI scrolling freezes for 1-2s from time to time | * UI scrolling freezes for 1-2s from time to time | ||
* Startup time of the device | * Startup time of the device | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
=== Reducing App Startup time === | === Reducing App Startup time === | ||
| Line 59: | Line 32: | ||
=== Reducing memory use === | === Reducing memory use === | ||
'''Tasks''' | '''Tasks''' | ||
| - | |||
| - | |||
* adjust stack sizes | * adjust stack sizes | ||
| - | |||
* remove mdecorator | * remove mdecorator | ||
'''Tasks Done''' | '''Tasks Done''' | ||
| + | * Merge meego-volume-control to systemui (jpeltonen) | ||
* lower GLES ParamBuffer size (veskuh) | * lower GLES ParamBuffer size (veskuh) | ||
* Investigtate GLES ParamBuffer size | * Investigtate GLES ParamBuffer size | ||
| Line 72: | Line 43: | ||
* meego-ux to drop GL-context: https://bugs.meego.com/show_bug.cgi?id=18268 | * meego-ux to drop GL-context: https://bugs.meego.com/show_bug.cgi?id=18268 | ||
* Remove unused applifed processes. (Ronksu) | * Remove unused applifed processes. (Ronksu) | ||
| + | * zram (formerly known as ramzswap and compcache) trial [[User:Tazpa/zram|results]] (tazpa) No definite upside due to slow cpu and small ram of n900 | ||
=== Improving first boot === | === Improving first boot === | ||
'''Tasks''' | '''Tasks''' | ||
* Reduce the number of .desktop files and icons meegohome scans at first boot (vnayani) | * Reduce the number of .desktop files and icons meegohome scans at first boot (vnayani) | ||
| - | |||
'''Tasks Done''' | '''Tasks Done''' | ||
| Line 88: | Line 59: | ||
'''Tasks''' | '''Tasks''' | ||
* Reduce the list of [[ARM/N900/Performance/autostart|autostarted apps.]] | * Reduce the list of [[ARM/N900/Performance/autostart|autostarted apps.]] | ||
| - | |||
'''Tasks Done''' | '''Tasks Done''' | ||
| + | * tracker configuration (maitrey) | ||
* autostarted backlight setup.desktop file removed from the nokia-n900-configs (mce handles backlight) (lamikr) | * autostarted backlight setup.desktop file removed from the nokia-n900-configs (mce handles backlight) (lamikr) | ||
* bootchart generated svg from the N900 processes starting up attached to bug https://bugs.meego.com/show_bug.cgi?id=9527 (lamikr) | * bootchart generated svg from the N900 processes starting up attached to bug https://bugs.meego.com/show_bug.cgi?id=9527 (lamikr) | ||
| Line 99: | Line 70: | ||
=== Improving UI Performance === | === Improving UI Performance === | ||
'''Tasks''' | '''Tasks''' | ||
| - | + | ||
| - | + | ||
'''Tasks Done''' | '''Tasks Done''' | ||
| + | * Check if newer Qt improves performance | ||
| + | * Check if newer MTF improves performance (mirek) | ||
=== Misc === | === Misc === | ||
'''Tasks''' | '''Tasks''' | ||
| + | * CGROUPS optimization | ||
* optimizing MTF packages, there might be some configuration options, etc.? | * optimizing MTF packages, there might be some configuration options, etc.? | ||
| - | |||
* cache some often used data in NAND and symlink there | * cache some often used data in NAND and symlink there | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
* Taking fennec more frequently from upstream beta repository http://lists.meego.com/pipermail/meego-handset/2011-June/000467.html | * 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 startup of simple MTF, QML, and Qt apps | ||
| Line 121: | Line 86: | ||
* Investigate configuration options for Qt | * Investigate configuration options for Qt | ||
* Investigate configuration options for QML | * Investigate configuration options for QML | ||
| - | |||
* Update Qt | * Update Qt | ||
| + | * Tweak readahead. blockdev --setra 2048 /dev/mmcblk0 seems to help application start-up and boot. (phdeswer) | ||
| + | ** We did a test build and Q/A did not find any improvement instead actually a bit of regression. This would need more analysis. | ||
| + | |||
'''Tasks Done''' | '''Tasks Done''' | ||
| + | * Update MTF (libmeegotouch, mcompositor, home, system ui, etc. ) to get latest optimizations from upstream (mirek) | ||
* test overclock with known testing (from qa-tools guys perhaps) | * test overclock with known testing (from qa-tools guys perhaps) | ||
** kjokinie: Tested on my set up boot-times with some [[ARM/N900/Performance/OverclockBootTimeTest | overclock configurations]] already | ** kjokinie: Tested on my set up boot-times with some [[ARM/N900/Performance/OverclockBootTimeTest | overclock configurations]] already | ||
| Line 129: | Line 97: | ||
*** however, at least audio player seemed much more responsive, so application performances should still be tested by QA. | *** however, at least audio player seemed much more responsive, so application performances should still be tested by QA. | ||
* Carsten tweaked kernel virtual memory settings (increased swappiness), Fennec bootup improved a lot and also system responsivness | * Carsten tweaked kernel virtual memory settings (increased swappiness), Fennec bootup improved a lot and also system responsivness | ||
| + | * 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 | ||
* thumbnails images for pre-installed images should be done during the build time. (Now thumbnails are generated only when user wants to get the image list and that takes times) | * thumbnails images for pre-installed images should be done during the build time. (Now thumbnails are generated only when user wants to get the image list and that takes times) | ||
| + | '''Not realistic''' | ||
| + | * Swap on memory card (probably will not help if the os is on the card also, otherwise might) | ||
== Benchmark results == | == Benchmark results == | ||
| Line 256: | Line 232: | ||
== Team meeting minutes == | == Team meeting minutes == | ||
| - | http://irclogs.meego.com/meetbot/meego-meeting/2011/meego-meeting.2011-06-10-06.58.html | + | * http://irclogs.meego.com/meetbot/meego-meeting/2011/meego-meeting.2011-06-10-06.58.html |
Contents |
Tasks
Tasks Done
Tasks
Tasks Done
Tasks
Tasks Done
Not doable
Tasks
Tasks Done
Tasks
Tasks Done
Tasks
Tasks Done
Not realistic
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
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
Currently inside N900-CE image, the folder /usr/share/locale contains over 500 items many of these are placeholders for real language support and do not contain much. Veskuh said that we only include the Community translations in this image.
Having such a cluttered folder with placemarks only puts a negative impact in file system performance and app startup time. In rough tests, removing this folder improves startup time.
Proper analysis of this is required and a compromise where translations are still working but without wasted space is important.
For later investigation, find other filesystem hotspots which have similar large folders full of placeholders.
Use settings from M5 rc scripts, such as reducing ptys, etc to save memory