Confirmed users, Bureaucrats and Sysops emeriti
2,088
edits
m (status tag got moved to the wrong spot. fixing.) |
No edit summary |
||
Line 18: | Line 18: | ||
Any time the user interface takes more than 50ms to respond to an action, it can appear sluggish to the user. To determine how often this happens, and what parts of our code are frequent offenders, we should add the ability to detect when the main-thread event loop is delayed by more than 50ms and log it as an ASSERT. | Any time the user interface takes more than 50ms to respond to an action, it can appear sluggish to the user. To determine how often this happens, and what parts of our code are frequent offenders, we should add the ability to detect when the main-thread event loop is delayed by more than 50ms and log it as an ASSERT. | ||
Update: There are two general scenarios in which UI is non-responsive. The first scenario is when a direct action by the user causes the app to be non-responsive. For example, a menu option with executes an action synchronously, and which takes >50ms to return. The second scenario is that some background action blocks the event loop for >50ms, causing the app to be generally non-responsive. We're working to get visibility into both scenarios. | |||
== Release Requirements == | == Release Requirements == | ||
* | *Does not affect performance in production or beta builds | ||
* | *Can be logged to screen or file | ||
* | *Logging has been added to all primary user interface events | ||
== Next Steps == | == Next Steps == | ||
*Complete project definition (ETA: 2011/04/01, Complete) | *Complete project definition (ETA: 2011/04/01, Beltzner, Complete) | ||
*Work with UX to identify 15 primary UI events (ETA: 2011/04/01, [http://j.mp/ihM1wc google doc], Complete) | *Work with UX to identify 15 primary UI events (ETA: 2011/04/01, [http://j.mp/ihM1wc google doc], Dietrich, Complete) | ||
*Implement core instrumentation of event loop ({{bug|601268}}, Complete) | *Implement core instrumentation of event loop ({{bug|601268}}, Ted, Complete) | ||
*Investigate options for correlation of event loop delays with high and low level code | *Investigate options for correlation of event loop delays with high and low level code (ETA: xxx, Ted, in progress) | ||
*Identify top 10 code points causing event loop delays | *Investigate methods of identifying slow front-end UI (ETA: 2011/05/06, Dietrich, in progress) | ||
*Identify and publish top 10 code points causing event loop delays (Ted) | |||
*Identify and publish top 10 slowest-responding primary UI pieces (Dietrich) | |||
*Publish the tools and methods developed in this project (Ted, Dietrich) | |||
== Related Bugs & Dependencies == | == Related Bugs & Dependencies == | ||
Line 71: | Line 76: | ||
*provide information to end-users about what is causing Firefox to feel slow or unresponsive | *provide information to end-users about what is causing Firefox to feel slow or unresponsive | ||
*provide UI profiling | *provide UI profiling | ||
*integration of responsiveness testing into Talos | |||
== Other Documentation == | == Other Documentation == |