Incorrect blob painting after scrolling

VERIFIED FIXED in Firefox 66

Status

()

P2
normal
VERIFIED FIXED
6 months ago
19 days ago

People

(Reporter: mstange, Assigned: sotaro)

Tracking

(Blocks: 1 bug, {perf, regression})

Trunk
mozilla66
Unspecified
All
perf, regression
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox-esr60 unaffected, firefox63 unaffected, firefox64 disabled, firefox65 disabled, firefox66 verified)

Details

(URL)

Attachments

(5 attachments, 3 obsolete attachments)

(Reporter)

Description

6 months ago
Posted image screenshot
STR:
 1. Go to https://static.mozilla.com/moco/en-US/images/mozilla_eoy_2013_EN.svg
 2. Scroll down and back up. Repeat as necessary to reproduce bug.

Expected results:
After scrolling back up, things should look correct.

Actual results:
Every now and then, the top row of tiles has incomplete content after scrolling up. See attached screenshot.
(Reporter)

Comment 1

6 months ago
Posted image other variation
I suspect this is a regression.
Keywords: regressionwindow-wanted
Flags: needinfo?(jan)
mozregression --good 2018-07-16 --bad 2018-07-25 --pref gfx.webrender.all:true -a https://static.mozilla.com/moco/en-US/images/mozilla_eoy_2013_EN.svg
> 34:28.83 INFO: Last good revision: 8984f6868e572079cc991492124ba99747f0f681
> 34:28.83 INFO: First bad revision: 80efe717b563f329a2261a8d23f4ebbc470c432f
> 34:28.83 INFO: Pushlog:
> https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=8984f6868e572079cc991492124ba99747f0f681&tochange=80efe717b563f329a2261a8d23f4ebbc470c432f

> 80efe717b563    Nicolas Silva — Bug 1455422 - Implement the new blob image rasterization hooks. r=kats, gankro
> 7041b2f0aef8    Jeff Muizelaar — Bug 1476636. Update Cargo lockfiles, re-vendor rust dependencies
> 5fdc7f00aba1    Jeff Muizelaar — Bug 1476636. Update webrender to commit 9f21ee5dba0694818a1e2e46d95734ede281447c

Screencast:
first bad (left Nightly icon): One or more tiles(?) are often displayed with a delay or are only shown in part. Scrolling the page causes massive checkerboarding(?), so everything is white at first.

last "good" (right Nightly icon): The page is just scrolling with a huge delay.
Flags: needinfo?(jan)
Keywords: regressionwindow-wanted → perf, regression
OS: Unspecified → All
first bad and last "good" on Win10, GTX1060, at 200% to be able to reproduce
status-firefox63: --- → unaffected
status-firefox64: affected → disabled
status-firefox65: --- → affected
status-firefox-esr60: --- → unaffected
Priority: P3 → P2
(Assignee)

Comment 5

3 months ago
I take a look.
Assignee: nobody → sotaro.ikeda.g
Comment hidden (obsolete)
(Assignee)

Updated

3 months ago
Depends on: 1492241
(Assignee)

Updated

3 months ago
Assignee: sotaro.ikeda.g → nobody
(Assignee)

Comment 7

3 months ago
(In reply to Sotaro Ikeda [:sotaro] from comment #6)
> https://github.com/servo/webrender/pull/3398 in Bug 1492241 addressed the
> problem for me. The fix will be in m-c soon.

I rechecked the problem. The problem was not addressed. With the patch, it just appeared differently.
(Assignee)

Updated

3 months ago
Assignee: nobody → sotaro.ikeda.g
I wonder if this might be caused by the mPaintRect changing.
(Assignee)

Updated

3 months ago
See Also: → bug 1497852
(Assignee)

Comment 9

3 months ago

The problem seems to be related to MAX_TILES_PER_REQUEST handling in create_blob_scene_builder_requests().

https://searchfox.org/mozilla-central/source/gfx/wr/webrender/src/resource_cache.rs#1102

If requestd tile size is larger than MAX_TILES_PER_REQUEST, the function just drops drawing of overflowed tiles.

(Assignee)

Comment 10

3 months ago

MAX_TILES_PER_REQUEST was 64, but the actual request became 286 (11*16) on the STR in comment 0 on my laptop(P50 Win10).

(Assignee)

Comment 11

3 months ago

(In reply to Sotaro Ikeda [:sotaro] from comment #9)

If requestd tile size is larger than MAX_TILES_PER_REQUEST, the function just drops drawing of overflowed tiles.

If we skip to render some tiles, related rasterized_blob_images and related cached_images nees to be invalidated. Otherwise, obsoleted rendered tiles will be used.

Comment hidden (obsolete)
(Assignee)

Comment 15

3 months ago

With attachment 9034951 [details] [diff] [review], the problem was addressed for me.

(Assignee)

Comment 16

2 months ago

Clean up.

Attachment #9034951 - Attachment is obsolete: true
(Assignee)

Comment 17

2 months ago
Attachment #9035237 - Attachment is obsolete: true
(Assignee)

Comment 18

2 months ago

I confirmed that the problem was addressed on latest nightly.

(Assignee)

Updated

2 months ago
Status: NEW → RESOLVED
Last Resolved: 2 months ago
Resolution: --- → FIXED
status-firefox65: affected → disabled
status-firefox66: --- → fixed
Target Milestone: --- → mozilla66

I have managed to reproduce the issue on a macOS 10.14 with Intel Iris Pro using Fx 64.0a1 buildID: 20180925220052.

The issue is verified fixed using Fx 66.0b13 on macOS 10.14, Ubuntu 16.04 and Windows 10 x64. The page is correctly rendered on each scroll-up performed on the page mentioned in comment 0.

Status: RESOLVED → VERIFIED
status-firefox66: fixed → verified
You need to log in before you can comment on or make changes to this bug.