Feature roadmap/General UI sluggishness

From OLPC
Jump to navigation Jump to search
Feature subcategory Is part of::Category:Performance
Requesters {{#arraymap:Uruguay, Peru|,|x|Requested by::x}}
Requirements * For all of the following, the times measured should apply when the XO is connected to a wireless AP and running Write with a file of less than 1 MB. This is used as a sample "state of the machine" definition. Other definitions of state of the machine are welcome and the performance when the XO is doing more (e.g. more activities open or moving data over the Wireless) should not degrade precipitously.
  • The time between when the user interacts (e.g. clicks or enters a key stroke) when the result is visible on the screen should be less than 100ms. Specific cases are listed below and when the absolute number above is not achievable, a target percentage improvement is listed.
  • The following are examples where think release 8.2 does not meet this requirement.
  • Must be 80% faster than in 8.2 to show or hide the Frame.
  • Must begin showing scroll operation results in the Journal 50% faster than we do now. That is from the time I click on the scroll bar until the image on the screen starts to move.
  • Must copy and paste to the clipboard and show the clipboard icon in the Frame with the right type (text or image) of object 75% faster.
  • Must open a Journal detail page 50% faster.
  • Must show all icons when switching from one view to another (e.g. from Home to Neighborhood etc) 75% faster.
Specification See previous threads on this here:

http://lists.laptop.org/pipermail/sugar/2008-July/007471.html

Thread on SVG graphics performance here:
http://lists.sugarlabs.org/archive/sugar-devel/2008-December/010200.html

Suggestions from John Gilmore (e-mail here: http://lists.laptop.org/pipermail/devel/2008-December/021595.html)
File read write performance

  • Putting a swap partition on an SD card and seeing what it does for performance
  • Building an un-compressed JFFS2 filesystem (it's trivial with the tools used) and seeing what it does for performance

System memory usage optimization

  • Running "prelink" to avoid dirtying pages for shared libraries (reducing memory pressure) and see what it does for performance
  • Working on glibc and other popular libraries in the XO to reduce their dirty memory page footprint (it's huge and doesn't need to be)

CPU cycle and process optimization

  • Fixing bug #4680 in PyGTK+, which causes every multithreaded Python GTK+ program to uselessly poll ten times a second.

System level tests

Graphics performance
Related thread: http://lists.laptop.org/pipermail/devel/2008-December/thread.html#22027

  • Test results (thanks Neil!):

Side by side Cairo graphics performance tests between a 2Ghz PC and XO
http://screamingduck.com/Cruft/cairo_benchmark_XO.txt
http://screamingduck.com/Cruft/cairo_benchmark_2GHz_E2180.txt
http://screamingduck.com/Cruft/cairo_benchmark_XO_NoAccel.txt

  • Tools:

http://wiki.laptop.org/go/Performance_tuning

Owners {{#arraymap:MarcoPesentiGritti, Erik, Gregorio|,|x|Contact person::User:x}}
Priority Priority::2
Helps deployability? Helps deployability::no
Target for 9.1? Target for 9.1::no