DE Performance page
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
Benchmark results
- Results from Q/A http://wiki.meego.com/ARM/N900/QA/Performance
- Different class SD card benchmarking
-
- 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
Improvement ideas
- optimizing MTF packages, there might be some configuration options, etc.?
- ramzswap trial
- CGROUPS optimization, most likely still not done
- 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)
- adjust stack sizes
- lower GLES ParamBuffer size
- Remove unused applifed processes.
- Merge meego-volume-control to systemui
- cache some often used data in NAND and symlink there
- tracker configuration
- test overclock with known testing (from qa-tools guys perhaps)
- 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)
- Reduce the list of autostarted apps.
TODO list
- 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
Issues being worked on
Tools