Closed Bug 627103 Opened 9 years ago Closed 9 years ago
Double tap zoom/unzoom (with reflow) takes too long to respond
STR (on Nexus One): 1. Go to news.google.com (desktop version) 2. Double tap It takes over a second to do anything. Part of the problem is we are reflowing before we begin the zoom.
It's about 5 seconds on p.m.o.
We intentionally wait for reflow to finish before starting the animation; see bug 623313. If we don't want to revert that, maybe we should show some other user feedback in the meantime (like a highlight or outline of the double-tapped element).
Summary: Double tapping takes too long to respond → Double tap zoom/unzoom takes too long to respond
Summary: Double tap zoom/unzoom takes too long to respond → Double tap zoom/unzoom (with reflow) takes too long to respond
With this patch, we will immediately zoom toward the element's current location, then do the reflow. When the reflow completes, we zoom toward the element's new location. On pages like http://news.ycombinator.com/ where reflow is fast, this looks like a single zoom that changes direction mid-zoom. On pages like http://planet.mozilla.org/ where reflow is very slow, this causes a zoom, then a pause for a second or more (the old content remains "fuzzy" during the pause because the content process is busy doing reflow), then another zoom after the reflow finishes. On pages where the layout doesn't change significantly, the second zoom is not as noticeable. When it changes a lot, it is more disruptive.
Attachment #514849 - Flags: review?(mark.finkle)
Comment on attachment 514849 [details] [diff] [review] patch Let's see how this feels in nightlies
Attachment #514849 - Flags: review?(mark.finkle) → review+
Whiteboard: [has-patch][needs review] → [has-patch]
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Verified fix on Mozilla/5.0 (Android; Linux armv71; rv:2.0b13pre) Gecko/20110315 Firefox/4.0b13pre Fennec/4.0b6pre
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.