Firefox/Projects/Perception of Performance: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with '= Overview = '''Sprint lead:''' faaborg <br/> '''Sprinters:''' faaborg, margaret = Goals / Use Cases = * Identify top 5 ways to improve perceived performance ** [https://wiki.m…')
 
No edit summary
Line 13: Line 13:
* Actually improve real performance :)
* Actually improve real performance :)


= Current Progress: Acceleration Model for Scrolling =
= Current Progress=


* Margaret has an initial implementation of an acceleration-based scroll model working on Windows
* Margaret has an initial implementation of an acceleration-based scroll model working on Windows
* We are getting her set up with a native installation of Windows, so there isn't any lag with the VM
* The two thresholds we are now interested in experimenting with and tweaking are the:
* The two thresholds we are now interested in experimenting with and tweaking are the:
** rate of acceleration
** rate of acceleration
** time chunk of events to analyze before processing them
** time chunk of events to analyze before processing them
* Still looking for research and documentation in this general area of UI toolkit design
* 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 =
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:
* '''scrollwheel.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.
* '''scrollwheel.acceleration.start''' (default=3)
** The scroll wheel click number at which acceleration begins to take effect.
* '''scrollwheel.acceleration.factor''' (default=10)
** The multiplicative factor used to scale constant acceleration.


= Bugs =
= Bugs =
{{bug|462809}}
*{{bug|462809}} - Interpretation of scroll events on Windows and OS X
** '''review? (vlad)'''

Revision as of 00:18, 29 July 2009

Overview

Sprint lead: faaborg
Sprinters: faaborg, margaret

Goals / Use Cases

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

Non Goals

  • Actually improve real performance :)

Current Progress

  • 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

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:

  • scrollwheel.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.
  • scrollwheel.acceleration.start (default=3)
    • The scroll wheel click number at which acceleration begins to take effect.
  • scrollwheel.acceleration.factor (default=10)
    • The multiplicative factor used to scale constant acceleration.

Bugs

  • bug 462809 - Interpretation of scroll events on Windows and OS X
    • review? (vlad)