Closed
Bug 1209100
Opened 9 years ago
Closed 9 years ago
Section headers of ecma-262 doc scroll differently from body text
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
People
(Reporter: Swatinem, Assigned: mstange)
References
()
Details
(Keywords: regression)
Attachments
(4 files)
(deleted),
image/png
|
Details | |
(deleted),
video/ogg
|
Details | |
(deleted),
patch
|
lizzard
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
lizzard
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
On linux (arch with latest updates and recent nightly) with APZ ON, smoothScroll OFF, scrolling the ECMA-262 standards doc *with a touchpad* leads to the following behavior:
The section headers scroll like they should but the body text in between stays where it is and just occasionally jumps. Also, some smearing effect can be seen at the top-most section header.
The effect is more obvious when slowly scrolling the doc, it is less obvious when scrolling through it fast. It is also not observable with a mousewheel or when dragging the scrollbar.
It is however observable when using autoscroll (middle mouse button), where you can also adjust the speed so the effect is super obvious.
I captured a video of the effect here: https://www.youtube.com/watch?v=NNPPDndyvjU (sorry for the bad quality)
Comment 2•9 years ago
|
||
Can you confirm that this does *not* happen if APZ is disabled? It's surprising to me that you're seeing this with autoscroll because that codepath doesn't use APZ at all.
Reporter | ||
Comment 3•9 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #2)
> Can you confirm that this does *not* happen if APZ is disabled? It's
> surprising to me that you're seeing this with autoscroll because that
> codepath doesn't use APZ at all.
Hah, you are absolutely right. I can also reproduce this with apz disabled.
Some other things that might help:
Device ID Mesa DRI Intel(R) Sandybridge Mobile
Driver Version 3.0 Mesa 10.6.7
GPU Accelerated Windows 0/1 Basic (OMTC)
AzureContentBackend cairo
CairoUseXRender 1
Summary: Section headers of ecma-262 doc scroll differently from body text with apz enabled → Section headers of ecma-262 doc scroll differently from body text
Comment 4•9 years ago
|
||
This may be a recent regression; do you mind trying on Beta or Release and if you don't see it there, tracking down a regression window? Thanks!
No longer blocks: all-aboard-apz
Updated•9 years ago
|
OS: Unspecified → Linux
Version: unspecified → 44 Branch
Reporter | ||
Comment 5•9 years ago
|
||
ok: https://hg.mozilla.org/mozilla-central/rev/a38c23ccca0a (nightly from 20115-06-22)
broken: https://hg.mozilla.org/mozilla-central/rev/be81b8d6fae9 (nightly from 20115-06-23)
Comment 6•9 years ago
|
||
Pushlog version of that: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=a38c23ccca0a&tochange=be81b8d6fae9
Nothing in that range seems like an obvious cause, so we'll probably need to test inbound builds to narrow down the range.
Reporter | ||
Comment 7•9 years ago
|
||
With the new ECMAScript doc (http://tc39.github.io/ecma262/#sec-json-object) I have a similar invalidation problem that might be related to this one.
The scrolling is not smooth but jumpy, and after scrolling, the hit rectangles (for example for hover over links) are off by a few pixels. When I click on an identifier to highlight all occurrences, I get what is captured in the attached screenshot: the highlighed identifiers are drawn over the old page, but all are offset by some pixels (the same amount as the mouse hover).
Reporter | ||
Comment 8•9 years ago
|
||
Also, scrolling again corrects at least the broken drawing, but when the page comes to rest after scroll, the hit regions for hover are offset again, and toggling an identifier triggers the same problem all over again.
Reporter | ||
Comment 9•9 years ago
|
||
As suggested by Markus, I tried this with and without opengl acceleration.
With acceleration forced to on (GPU Accelerated Windows 1/1 OpenGL (OMTC)), the invalidation problem does *not* occur. It does only with basic compositing.
Assignee | ||
Comment 11•9 years ago
|
||
The jumpy scrolling of the main PaintedLayer happens because our layer tree invalidation code thinks its transform hasn't changed, so we don't recomposite those areas of the window.
This page is very long, and the PaintedLayer's y translation is about -1.55962e+06 on my machine. In LayerTreeInvalidation.cpp we call FuzzyEqualsMultiplicative on the layer's transform, which returns true even if the translation has changed by several pixels.
I think we need to use a smaller epsilon in FuzzyEqualsMultiplicative, ideally without regressing bug 1165185 for certain transforms.
Assignee | ||
Comment 12•9 years ago
|
||
This is a regression from bug 1165185.
Blocks: 1165185
Component: Panning and Zooming → Graphics: Layers
Keywords: regression
OS: Linux → All
Hardware: Unspecified → All
Comment 13•9 years ago
|
||
STR for me (I think it's the same bug):
1. Open http://heycam.github.io/webidl/.
2. Press End to scroll to the end of the document.
3. Use the mouse wheel to scroll up one notch.
4. Mouse over the "double" or "float" link and notice being repainted a few pixels off from where it should be.
Comment 15•9 years ago
|
||
[Tracking Requested - why for this release]: There is a possibility that you click the unintended link.
please backed out the bunch of patch bug 1165185 from BETA 45 (next ESR) tree.
status-firefox44:
--- → wontfix
status-firefox45:
--- → affected
status-firefox46:
--- → affected
status-firefox47:
--- → affected
status-firefox-esr45:
--- → ?
tracking-firefox45:
--- → ?
tracking-firefox46:
--- → ?
tracking-firefox47:
--- → ?
Flags: needinfo?(mstange)
Comment 16•9 years ago
|
||
Should we be using FuzzyEqualsAdditive there instead? We care about the delta between the two transforms regardless of the magnitude of the values, I think.
Comment 17•9 years ago
|
||
bug 1165185 landed a while ago. I don't think we can just backout the patch...
Markus, any chance you will be fixing this?
Assignee | ||
Comment 18•9 years ago
|
||
I was away for two weeks, and this is at the top of my list now.
Flags: needinfo?(mstange)
Tracking for 46+ since we aim to keep apz enabled by default.
Regression with APZ from the comments in the duplicate bug 1248317.
Assigning this to Markus from comment 18 also (since I'm wontfixing unassigned bugs right now)
Assignee: nobody → mstange
Comment 21•9 years ago
|
||
Comment 22•9 years ago
|
||
[Tracking Requested - why for this release]: Renering error, There is a possibility that you click the unintended link.
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #19)
> Tracking for 46+ since we aim to keep apz enabled by default.
> Regression with APZ from the comments in the duplicate bug 1248317.
This problem happens regardless with APZ on/off.
Anyway, It is time to back out for 46 before 46 becomes beta.
And also for ESR45.
tracking-firefox-esr45:
--- → ?
Assignee | ||
Comment 23•9 years ago
|
||
I'll take care of that today.
Comment 24•9 years ago
|
||
Markus, any news? Thanks
Assignee | ||
Comment 26•9 years ago
|
||
I couldn't think of a good short term solution. I'll back out bug 1165185. This will cause more invalidations (and slower scrolling) when scrolling over SVGs, which commonly have strange transforms set on them. But at least we'll properly recomposite the bottom end of very long websites.
I started three try pushes for the backout on the different branches:
inbound: https://treeherder.mozilla.org/#/jobs?repo=try&revision=77a06c168a2f
aurora: https://treeherder.mozilla.org/#/jobs?repo=try&revision=0ca398cc805e
beta: https://treeherder.mozilla.org/#/jobs?repo=try&revision=3e0637d2ee3b
Flags: needinfo?(mstange)
Flags: needinfo?(bugs)
Comment 27•9 years ago
|
||
Assignee | ||
Comment 28•9 years ago
|
||
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox48:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Markus, should this back out of 46 and 47 as well?
Flags: needinfo?(mstange)
Assignee | ||
Comment 33•9 years ago
|
||
Yes. I'll attach the backout patches rebased to aurora and beta and request uplift.
Flags: needinfo?(mstange)
Assignee | ||
Comment 34•9 years ago
|
||
Approval Request Comment
[Feature/regressing bug #]: regression from bug 1165185, this patch backs the offending patch out
[User impact if declined]: not recompositing properly during scrolling at the bottom of very long web pages
[Describe test coverage new/current, TreeHerder]: none
[Risks and why]: extremely low, just restores previous behavior
[String/UUID change made/needed]: none
Attachment #8736926 -
Flags: approval-mozilla-aurora?
Assignee | ||
Comment 35•9 years ago
|
||
Approval Request Comment: see previous comment
Attachment #8736928 -
Flags: approval-mozilla-beta?
Comment on attachment 8736926 [details] [diff] [review]
backout patch for aurora
OK to backout of aurora.
Attachment #8736926 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment on attachment 8736928 [details] [diff] [review]
backout patch for beta
Backout for beta to fix a scrolling regression
Attachment #8736928 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 38•9 years ago
|
||
Comment 39•9 years ago
|
||
Updated•9 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•