Firefox/Projects/Perception of Performance: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
= Overview =
= Overview =
'''Sprint lead:''' faaborg <br/>
'''Sprint lead:''' faaborg <br>
'''Sprinters:''' faaborg, margaret
'''Sprinters:''' faaborg, margaret  


= Goals / Use Cases =
= Goals / Use Cases =


* Identify top 5 ways to improve perceived performance
Note: the previous work in this sprint on building an acceleration based scrolling model has been spun off into a separate project: [[Firefox/Projects/AcceleratedScrolling|Accelerated Scrolling]]
** [https://wiki.mozilla.org/Perceived_Performance Full list of brainstormed ideas] I need to organize this list, grouping items into categories, and identifying the top 5 items.
* Resolve one on trunk (we selected acceleration model for scrolling)


= Non Goals =
*Identify top 5 ways to improve perceived performance
**[https://wiki.mozilla.org/Perceived_Performance Full list of brainstormed ideas] I need to organize this list, grouping items into categories, and identifying the top 5 items.
*Resolve one on trunk (we selected acceleration model for scrolling)


* Actually improve real performance :)


= Current Progress =


*Currently the biggest concern is users who encounter double acceleration ([https://bugzilla.mozilla.org/show_bug.cgi?id=509651 bug 509651]), we need to also buy some mice that include their own driver with an acceleration model so that we can get a sense of what double acceleration feels like<br>
= Top 5 Perception of Performance Improvements =
*Margaret has an initial implementation of an acceleration-based scroll model working on Windows
*The two thresholds we are now interested in experimenting with and tweaking are the:
**rate of acceleration
**time chunk of events to analyze before processing them
*Still looking for research and documentation in this general area of UI toolkit design
*Two patches are up for review that add the functionality described below


= Design: Acceleration Model for Scrolling =
#[[Firefox/Projects/AcceleratedScrolling|Accelerated Scrolling Model]] (now covered in a separate project: [[Firefox/Projects/AcceleratedScrolling|Accelerated Scrolling]])
#[[Firefox/Projects/Per_Tab_Network_Prioritization|Per Tab network Prioritization]]
#[[Firefox/Projects/Animation_priorities|Animation]]
#[[Firefox/Projects/Eradicate_Startup_Dialogs|Seamless updates]] (specifically {{bug|307181}} and {{bug|511529}})
#Accelerated model for scroll bar progress {{bug|}}


We're using a timeout function to group mousewheel clicks into separate series, where each series represents a unique scroll gesture. Within each series we increment a counter that keeps track of the number of clicks of the scroll wheel within the series, and we can use this value to determine when to start acceleration and how much acceleration to create.
We're using three integer preferences to modify scroll wheel behavior:
* '''mousewheel.withnokey.numlines''' (default=6)
** The number of lines the page moves with one click of the scroll wheel.
** This pref is used to determine a scroll delta before acceleration computations are applied.
* '''mousewheel.acceleration.start''' (default=3)
** The scroll wheel click number at which acceleration begins to take effect.
* '''mousewheel.acceleration.factor''' (default=10)
** The multiplicative factor used to scale constant acceleration.
= Bugs =
*{{bug|462809}} - Interpretation of scroll events on Windows and OS X
*{{bug|508747}} - mousewheel.withnokey.numlines overrides the OS setting
*{{bug|508785}} - Extremely high speed of mouse-wheel scrolling
*{{bug|509189}} - The application level mouse wheel scrolling acceleration should be disabled in default settings
*{{bug|509651}} -  Disable Firefox's acceleration based scrolling model if the mouse driver already provides it


= Related Links  =
= Related Links  =
 
*[[Perceived_Performance|Brainstorming Wiki page]]
*[http://margaret.mit.edu/2009/08/making-firefox-feel-faster/ Making Firefox Feel Faster]  
*[http://margaret.mit.edu/2009/08/making-firefox-feel-faster/ Making Firefox Feel Faster]  
*[http://blog.mozilla.com/faaborg/2009/08/05/sure-its-fast-but-how-does-it-handle/ Sure it’s Fast, But How Does it Handle?]<br>
*[http://blog.mozilla.com/faaborg/2009/08/05/sure-its-fast-but-how-does-it-handle/ Sure it’s Fast, But How Does it Handle?]<br>  
*[http://blog.mozilla.com/faaborg/2009/08/07/whats-next-for-the-perception-of-performance/ What’s Next for the Perception of Performance?]<br>
*[http://blog.mozilla.com/faaborg/2009/08/07/whats-next-for-the-perception-of-performance/ What’s Next for the Perception of Performance?]<br>

Revision as of 00:44, 1 September 2009

Overview

Sprint lead: faaborg
Sprinters: faaborg, margaret

Goals / Use Cases

Note: the previous work in this sprint on building an acceleration based scrolling model has been spun off into a separate project: Accelerated Scrolling

  • Identify top 5 ways to improve perceived performance
  • Resolve one on trunk (we selected acceleration model for scrolling)


Top 5 Perception of Performance Improvements

  1. Accelerated Scrolling Model (now covered in a separate project: Accelerated Scrolling)
  2. Per Tab network Prioritization
  3. Animation
  4. Seamless updates (specifically bug 307181 and bug 511529)
  5. Accelerated model for scroll bar progress bug


Related Links