Closed Bug 1566517 Opened 5 months ago Closed 5 months ago

Root scroller can still cause jittering with WR.


(Core :: Graphics: WebRender, defect, P2)




Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- disabled
firefox68 --- wontfix
firefox69 --- fixed
firefox70 --- fixed


(Reporter: emilio, Assigned: gw)




(Keywords: regression)


(2 files)

Attached file t.html

Bug 1528180 fixed the non-root-scroller testcase. I wrote this test-case to debug something else... And in WR it jitters quite a lot.

Debian Testing, KDE, X11, Macbook Pro
Same range as bug 1541072 comment 11. Jittering was introduced together with scroll anchoring because behavior was different before.

Has Regression Range: --- → yes
Has STR: --- → yes
OS: Unspecified → All
Regressed by: 1305957
Hardware: Unspecified → All

So this fixes it, but it's unclear whether it's the right fix:

diff --git a/gfx/wr/webrender/src/ b/gfx/wr/webrender/src/
index 64088f3faa17..3ff9f9675f95 100644
--- a/gfx/wr/webrender/src/
+++ b/gfx/wr/webrender/src/
@@ -623,7 +623,10 @@ impl SpatialNode {
     pub fn scroll_offset(&self) -> LayoutVector2D {
         match self.node_type {
-            SpatialNodeType::ScrollFrame(ref scrolling) => scrolling.offset,
+            SpatialNodeType::ScrollFrame(ref scrolling) => LayoutVector2D::new(
+                scrolling.offset.x.round(),
+                scrolling.offset.y.round(),
+            ),
             _ => LayoutVector2D::zero(),

Glenn, we seem to round scroll offsets in some places in some places but not others, does the above make sense? Should I instead find the origin of the unrounded number?

Flags: needinfo?(gwatson)
Blocks: wr-69

I think it's not the right fix, although I'm not 100% on that. Could you try disabling gfx.webrender.picture-caching on your machine, then re-test (after a restart) and report if that affects whether the bug occurs?

Flags: needinfo?(gwatson)

No jittering with picture caching disabled.
mozregression --launch 2019-07-15 --pref gfx.webrender.all:true gfx.webrender.picture-caching:false -a

Any chance you could post a video of this? I'm having trouble seeing it on my machine - it might be quite reliant on dpi / resolution etc to make it occur?

Attached video 2019-07-16 21-20-03.mp4

Win10, GTX1060, 2560x1440, Dell UltraSharp U2515H (117.5 DPI)
(Also reproducible with: Debian Testing, KDE, X11, Macbook Pro A1502)
left: mozregression --launch 2019-07-15 --pref gfx.webrender.all:true gfx.webrender.picture-caching:true -a
right: mozregression --launch 2019-07-15 --pref gfx.webrender.all:true gfx.webrender.picture-caching:false -a

Even text glitch (bug 1565473) and diagonally torn content (bug 1541072 comment 19) are visible at 6s when you suddenly see white lines blinking once.

Assignee: nobody → gwatson

Jittering looks fixed. The other issue I found is bug 1566178 comment 7.

Priority: -- → P2

Should this one be marked fixed, it seems the other issue above is something different?

Flags: needinfo?(jan)
Closed: 5 months ago
Flags: needinfo?(jan)
Resolution: --- → DUPLICATE
Duplicate of bug: 1566712
You need to log in before you can comment on or make changes to this bug.