Open Bug 1735114 Opened 3 years ago Updated 1 year ago

image flickering when during dragging for the animation

Categories

(Core :: Graphics: ImageLib, defect)

Firefox 95
defect

Tracking

()

Webcompat Priority P3
Tracking Status
firefox-esr78 --- wontfix
firefox-esr91 --- wontfix
firefox93 --- wontfix
firefox94 --- wontfix
firefox95 --- fix-optional

People

(Reporter: karlcow, Unassigned)

References

(Blocks 1 open bug, Regression, )

Details

(Keywords: regression)

  1. Go to https://choq.com/product/choq-seven-wonders/
  2. Grab the pills bottle
  3. Drag on the side

Expected:
Rotate smoothly

Actual:
Flickering.

This is a profile.
https://share.firefox.dev/3BCw5oo

On windows10, The image animation flickers not only when you drag the image, but also when the page loads.
Regression window:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=f608a5a5d8e2472396a0f4cd04778730866b8ae0&tochange=c61b11debf423499104a9c547590850f63a56fa4

Regressed by: 1341881
Has Regression Range: --- → yes

Set release status flags based on info from the regressing bug 1341881

FWIW,
Setting image.decode-immediately.enabled to true fixes the flickering for me(Firefox91ESR, Nightly95.0a1 Windows10).

Presumably the problem would be fixed if the site used decoding="sync" on the <image> elements. Otherwise we'd have to come up with some heuristic to try to detect situations like this and do sync decoding (we have some simple ones already). The site seems to have a series of images with display:none and then removes the display none of the image it wants to show at that time. Nothing comes to mind quickly for a heuristic to detect this.

Should retest after bug 1737257 is fixed.

Not really a performance issue.
Layout, styling or imglib might be more correct.

emilio, by any chance, does Stylo have some callback which is called when styling of some element is changed from display: none to something else. I'm thinking here just some element.style.display = ""; case here, but maybe it could work also in other cases.
(That wouldn't fix anything here, but could be part of the fix here)

Component: Performance → ImageLib
Flags: needinfo?(emilio)

not quite a callback but you'd enter the frame constructor / ReconstructFramesForContent and you can do whatever there

Flags: needinfo?(emilio)
Severity: -- → S3
See Also: → 1797941
You need to log in before you can comment on or make changes to this bug.