The outer blur of a video won't re-render on a new frame
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox74 | --- | verified |
People
(Reporter: wessel_kroos, Assigned: gw)
References
(Depends on 1 open bug)
Details
Attachments
(3 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
Steps to reproduce:
- play a video
- Add the CSS blur filter
Demo: https://codepen.io/wesselkroos/pen/qBEXMVP
Actual results:
The outer blur of the video is only rendered when the css filter is applied but does not update when a new video frame is rendered.
Expected results:
The outer blur should also update when the blurred content contains a new video frame.
Comment 1•5 years ago
|
||
Hi,
Thanks for submitting this bug to us!
I am attempting to reproduce your issue. I tried on Windows 10, with Firefox Nightly version 73.0a1 (2020-01-02) (64-bit) with youtube videos, but it's working fine in each video played.
Please download Firefox Nightly from here: https://nightly.mozilla.org/ , to see if the issue still occurs there as well. If after doing this you can still reproduce the bug, let me know.
I've already chosen a component for this bug in hope that someone with more expertise may look at it. We'll await their answer.
Best regards, Clara.
Reporter | ||
Comment 3•5 years ago
|
||
(In reply to Clara Guerrero from comment #1)
Hi,
Thanks for submitting this bug to us!
I am attempting to reproduce your issue. I tried on Windows 10, with Firefox Nightly version 73.0a1 (2020-01-02) (64-bit) with youtube videos, but but it's working fine in each video played.
Please download Firefox Nightly from here: https://nightly.mozilla.org/ , to see if the issue still occurs there as well. If after doing this you can still reproduce the bug, let me know.
I've already chosen a component for this bug in hope that someone with more expertise may look at it. We'll await their answer.
Best regards, Clara.
I can also reproduce this is Firefox Nightly 73.0a1 (2020-01-02) (64-bits)
Reporter | ||
Comment 4•5 years ago
|
||
(In reply to Jessie [:jbonisteel] plz needinfo from comment #2)
Can you share the contents of about:support as a text file? Thanks.
Updated•5 years ago
|
Reporter | ||
Comment 5•5 years ago
|
||
[:jbonisteel] [:tnikkel] Are you able to reproduce the bug with the provided about:support information?
Reporter | ||
Comment 6•5 years ago
|
||
I've found workaround that forces Firefox to rerender the outer blur.
I can force the rerender when I set or change the css property "transform: translateZ(<T>px)". In which T is an integer value.
So in case of a video tag I can give it an infinite animation that changes the T value.
Or in case of a canvas tag I can change the T value after executing canvasContext.drawImage().
I can move on now with this browser hack. But it would be nice to see this fixed properly.
Updated•5 years ago
|
Comment 7•5 years ago
|
||
I'm not able to reproduce this on Nightly. Wessel, can you reproduce the problem on Nightly with WebRender on?
Reporter | ||
Comment 8•5 years ago
|
||
I can still reproduce this on Nightly with WebRenderer on. It kicks in after 10 seconds, or directly after I refreshed the codepen example.
Comment 9•5 years ago
|
||
The priority flag is not set for this bug.
:jbonisteel, could you have a look please?
For more information, please visit auto_nag documentation.
Updated•5 years ago
|
Comment 10•5 years ago
|
||
I'm able to reproduce this locally. When I try to get a capture we crash when trying to read the video frame. I filed bug 1610857 for that.
Comment 11•5 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #10)
I'm able to reproduce this locally. When I try to get a capture we crash when trying to read the video frame. I filed bug 1610857 for that.
I've found that the size of the window seems to matter when trying to reproduce the problem.
Comment 12•5 years ago
|
||
Writing down the findings from today:
- it's reproducible on all OSes
- it's caused by picture caching. Disabling it doesn't show the issue.
- interestingly, regenerating the frame also doesn't ever show the issue
Possible ways to investigate:
- Take a multi-frame capture (hi, Andrew!) and track down the frame that has instructions to generate the failing picture cache tile
- Have some integration with RenderDoc in WR/Gecko, so that make a multi-frame RenderDoc capture and find out how the bad tile is generated
- Ask Glenn about what triggers/options we can use to get closer to the problem
Comment 13•5 years ago
|
||
Looked at it some more, was able to capture in a multi-frame RenderDoc capture. The tile containing the issue isn't getting invalidated. Playing with the blur radius and enabling debug mode of picture caching reveals that picture cache dependencies do not correctly take the blur radius into account.
Updated•5 years ago
|
Assignee | ||
Comment 14•5 years ago
|
||
Interestingly, I can only see a non-blurred edge on the bottom part of the image when I test on Linux - but perhaps that's not surprising, since it's likely dependent on resolution, and tile boundaries.
Assignee | ||
Comment 15•5 years ago
|
||
Comment 16•5 years ago
|
||
Pushed by gwatson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/784fdbec47d2 Fix invalidation for elements with inflation factors. r=kvark
Comment 17•5 years ago
|
||
bugherder |
Reporter | ||
Comment 18•5 years ago
|
||
Glad to see that it will be fixed in 74 (of course after it passes the tests in beta).
Thank you for closing in on the specific cause and fixing the bug Dzmitry and Glenn!
Updated•5 years ago
|
Comment 19•5 years ago
|
||
Reproduced the issue with Firefox 73.0a1 (20191229212642) on Windows 10x64.
The issue is verified fixed with Firefox 74.0b4 (20200216164042) on Windows 10x64, macOS 10.15 and Ubuntu 16.04. The issue is no longer occurring when refreshing the page, disabling/enabling the CSS filter, or waiting for the video to play a longer period of time while using the codepen example from comment 0.
Description
•