Confirmed users
523
edits
No edit summary |
|||
| (11 intermediate revisions by 5 users not shown) | |||
| Line 8: | Line 8: | ||
===Where do we spend our time?=== | ===Where do we spend our time?=== | ||
# Zoomed in panning on CNN.com: http://bit.ly/HdccVU | # Zoomed in panning on CNN.com: http://bit.ly/HdccVU | ||
#* 43ms PresShell::Paint | #* 43ms PresShell::Paint | ||
#** 6ms displaylist building | |||
#** 4ms compute visibility | |||
#** 14ms drawthebeslayer (9ms DrawBackgroundImage) | |||
#** 6ms buffer rotation | |||
# Zoomed in panning on nytimes.com: http://bit.ly/HdceNy | # Zoomed in panning on nytimes.com: http://bit.ly/HdceNy | ||
#* | #* 34ms PresShell::Paint | ||
#** 5ms displaylist building | |||
#** 2ms compute visibility | |||
#** 10ms drawthebeslayer (4ms text drawing, 2ms DrawBackgroundImage) | |||
#** 3ms buffer rotation | |||
#** 8ms waiting for compositor | |||
#** 4ms ContainerState::ProcessDisplayItems | |||
# Zoom out on nytimes.com: http://bit.ly/HjC3eD (409ms paint) http://bit.ly/HIMqas (371ms paint) | # Zoom out on nytimes.com: http://bit.ly/HjC3eD (409ms paint) http://bit.ly/HIMqas (371ms paint) | ||
#* mostly drawing text. We run into {{bug|742134}} | #* mostly drawing text. We run into {{bug|742134}} | ||
* Painting | * Painting | ||
| Line 20: | Line 33: | ||
=== Work in progress === | === Work in progress === | ||
* Fixing up touch overhead at the beginning of pans | * Fixing up touch overhead at the beginning of pans - {{bug|740883}} and dependent bugs (kats) | ||
* TiledThebesLayer {{bug|739679}} (bgirard) - This will help remove buffer rotation overhead and will make it so we can resize the display port with less cost. | * TiledThebesLayer {{bug|739679}} (bgirard) - This will help remove buffer rotation overhead and will make it so we can resize the display port with less cost. | ||
* 16 bit drawing {{bug|733607}} (roc) | * 16 bit drawing {{bug|733607}} (roc) | ||
| Line 41: | Line 54: | ||
==== Other ideas? ==== | ==== Other ideas? ==== | ||
* Building database of common pages/gestures | |||
* On-demand/interruptable drawing (depends somewhat on tiles) | |||
==Pan/Zoom Jank== | ==Pan/Zoom Jank== | ||
| Line 61: | Line 76: | ||
== Eideticker == | == Eideticker == | ||
* Needs to use a page other than http://taskjs.org/ | * Needs to use a page other than http://taskjs.org/ | ||
** See [https://bugzilla.mozilla.org/show_bug.cgi?id=742086 bug 742086] to track this (with some initial ideas) | |||
* Native browser on Gingerbread won't ever checkerboard it just paints slower | * Native browser on Gingerbread won't ever checkerboard it just paints slower | ||
* XUL and native fennec run the page at different zoom levels and scroll to different locations | * XUL and native fennec run the page at different zoom levels and scroll to different locations | ||
* | * Eideticker is useful for cross-browser comparisons, but should we consider using other/methods tools (i.e. ones that don't require specialized hardware) for testing performance as well? | ||
* Tracking FPS of scroll & zoom would be most useful. | |||
== When are we done? == | == When are we done? == | ||
* What criteria do we have for being good enough? | * What criteria do we have for being good enough? | ||
* Not checkerboarding too much! | |||