jumping/flickering boxes on ungleich.ch

RESOLVED FIXED in Firefox 64



11 months ago
12 days ago


(Reporter: darkspirit, Assigned: hiro)


(Blocks 2 bugs, {nightly-community, regression})

Dependency tree / graph

Firefox Tracking Flags

(firefox-esr52 unaffected, firefox-esr60 unaffected, firefox61 unaffected, firefox62 unaffected, firefox63 disabled, firefox64 fixed)


(Whiteboard: [gfx-noted], )


(4 attachments)

1. Open https://ungleich.ch/de/cms/
2. Scroll down to these boxes below "Unsere Produkte" and press F5.

mozregression --good 2018-05-01 --bad 2018-08-06 --pref gfx.webrender.all:true -a https://ungleich.ch/de/cms/
> 16:39.65 INFO: Last good revision: ba66db7432e535f3eb80fd3d3586e64e96275ab3
> 16:39.65 INFO: First bad revision: f065bd870d0f16b1ae251add29eba05ab4742e24
> 16:39.65 INFO: Pushlog:
> https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=ba66db7432e535f3eb80fd3d3586e64e96275ab3&tochange=f065bd870d0f16b1ae251add29eba05ab4742e24

> f065bd870d0f	Kartikaya Gupta — Bug 1477970 - Update webrender to commit 8a4fe66528aa362721e4048aac3cd5abf7faaf2c. r=jrmuizel

> WR @ f954713a05e651a5b35f75dd33ba8f374c577b0a
mozregression --repo try --launch db0a31beb80c4780803f2d6d248cae264fcc38ae --pref gfx.webrender.all:true -a https://ungleich.ch/de/cms/

> WR @ cf9b780325f67c32637deac1256375492e81b4d2
mozregression --repo try --launch 6f26f5d087aa7a16d4979d81e656a0562f574f3f --pref gfx.webrender.all:true -a https://ungleich.ch/de/cms/

Regression range: https://github.com/servo/webrender/compare/f954713a05e651a5b35f75dd33ba8f374c577b0a...cf9b780325f67c32637deac1256375492e81b4d2
Flags: needinfo?(gwatson)

Comment 1

11 months ago
I suspect this is caused by https://github.com/servo/webrender/commit/b21331e134d5bac17c80290cd010dfe59babc7c7 - since the other commits in that regression range shouldn't have any behavior change. It may be a bug in that commit itself, or exposing an issue with the way Gecko is sending new display lists.
Flags: needinfo?(gwatson)
Do you see this happening anymore? I can't reproduce on my windows machine.
Priority: -- → P1
Whiteboard: [gfx-noted]

Comment 3

10 months ago
Yes, I still see it on Debian Testing, KDE, Xorg, Nvidia GTX 1060, driver 390.77.

Comment 4

10 months ago
Win10 1803, GTX 1060, driver 398.82
My Mac reproduces this bug as well.


10 months ago
OS: Linux → All
Assignee: nobody → aosmond
This is intermittenty, has to do with async animations and doesn't make the site unusable. Demoting to trains.
Blocks: stage-wr-trains
No longer blocks: stage-wr-nightly
See Also: → 1488988
We can't release this to the field, but we can let this ride to beta.
Priority: P1 → P2

Comment 8

10 months ago
Flickering boxes + cookie banner on https://www.spdnds.de/.
The cookie banner only flickers if it's over the Youtube video: https://www.spdnds.de/kita-gebuehren-abgeschafft/
Same regression range.

Comment 9

10 months ago
White flickering slideshow: https://www.twosigma.com/
I can't repro this on Win10 with my GTS(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #4)
> Created attachment 9005034 [details]
> 2018-08-29 23-31-09_Win10.mp4
> Win10 1803, GTX 1060, driver 398.82

If you seek this video to currentTime = 6.416667, you'll see that we completely skipped rendering some of the cards.

I can't repro on Win10, GTX1060, driver 399.07.
I can repro this on my XPS 9550 with both the Intel and NVIDIA GPU.
Assignee: aosmond → cpearce


10 months ago
Duplicate of this bug: 1491347
Priority: P2 → P1
Moving up to blocking beta because it seems to show up on a number of sites.
Posted video patreon.mp4
Focus on the center loading circle. My perception is that this bug is likelier triggered by mouse movement. Same regression range.
I think I can't reproduce this bug with layers.async-pan-zoom.enabled;false.

(About the mouse movement observation in comment 14: In general, when an animation is running, any mouse movement causes activity of gfx.webrender.debug.new-scene-indicator, as I noticed in bug 1491423 comment 5. That seemed illogical to me.)

Comment 16

9 months ago
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #15)

> (About the mouse movement observation in comment 14: In general, when an
> animation is running, any mouse movement causes activity of
> gfx.webrender.debug.new-scene-indicator, as I noticed in bug 1491423 comment
> 5. That seemed illogical to me.)

Because on mouse move events, we do synchronize animations on the compositor for hit-testing, which results a paint.

Comment 17

9 months ago
Does the flicker happens every 200ms?  It seems to me that the flickers stops when I add 'overflow: hidden' style to the HTML element (Note that you need to download whole contents to local storage and change the HTML style there since to reproduce the flicker you need to reload the contents).  We do unthrottle async transform animations every 200ms to update scrollbar position, so if this flicker is a regression, it maybe imply it's a performance regression?

Comment 18

9 months ago
I did look at the suspicious commit Glen mentioned in comment 1.

It seems to me that take() for pending_properties [1] is overkill.  There is no case that update_document() is called without calling SceneProperties.set_properties()/add_properties()?  I think this bug is exactly the case.  Dropping the take() seems to resolve the flickers as far as I can tell.

[1] https://github.com/servo/webrender/commit/b21331e134d5bac17c80290cd010dfe59babc7c7#diff-c7a5c31423485faff26504ee0d56e41dR40

Comment 19

9 months ago
(In reply to Hiroyuki Ikezoe (:hiro) from comment #18)
> [1]
> https://github.com/servo/webrender/commit/
> b21331e134d5bac17c80290cd010dfe59babc7c7#diff-
> c7a5c31423485faff26504ee0d56e41dR40

Correct place is https://github.com/servo/webrender/commit/b21331e134d5bac17c80290cd010dfe59babc7c7#diff-c7a5c31423485faff26504ee0d56e41dR61
This fixes the issue for me. Nice work hiro!
Assignee: cpearce → hikezoe

Comment 21

9 months ago
I did confirm what the problem is actually with some debug print.

We sometimes doesn't call SceneProperties.set_properties, (I am sure it happens when animation progress value hasn't changed but that's maybe not this case though), whereas add_properties() is called without set_properties calls.  So, before the commit [1] we had cleared transform_properties and float_properties in set_properties(), but after that we do clear them in flush_pending_updates(). That means that the values previously set by set_properties() doesn't get involved when we just call a add_properties (i.e. without calling set_properties), which results a flicker on the ungleich site because transform animation values didn't get involved at the moment. 

This fact noticed me that there might be another room to improve performance, which is we can skip calling add_properties because it seems to me that there is no need to APZ happens.  Maybe I am wrong, there maybe need to do something for APZ though.  If I am correct, we should file a new bug for that.

[1] https://github.com/servo/webrender/commit/b21331e134d5bac17c80290cd010dfe59babc7c7

Comment 22

9 months ago
Posted file GitHub Pull Request
Sent a PR for this.

Comment 23

9 months ago
FWIW, I have also noticed that currently add_properties is called only for APZ, which means we don't need to touch pending_properties.floats at all because it's for opacity animation values.


9 months ago
Duplicate of this bug: 1488988
last bad:   5ab8b903147a: Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj 
first good: d6bea517aec2: Bug 1492880. Update webrender to commit a601f9c291cee83257241ef61aaf62353c613438 

* https://ungleich.ch/de/cms/
* https://www.spdnds.de/
* https://www.spdnds.de/kita-gebuehren-abgeschafft/
* https://www.patreon.com/alternativlos
* https://www.ampermusic.com/sign-up

Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64


9 months ago
Duplicate of this bug: 1479655


9 months ago
Duplicate of this bug: 1490563

Comment 29

12 days ago

Having similar issues at times with the sidebar at https://www.overclock.net/ even more so if i scroll slowly in a thread.

You need to log in before you can comment on or make changes to this bug.