Closed Bug 1659338 Opened 4 years ago Closed 2 years ago

Janky scrolling on mobile in www.rrweb.io (bad GPU time)

Categories

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

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: emilio, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Scrolling that page in Fenix with WR enabled (WR is enabled by default on this device) is janky. Fennec works fine and so does force-disabling WebRender.

Attached file about:support

Could you attach a profile please Emilio? With screenshots disabled and the renderer thread enabled. Thanks!

Flags: needinfo?(emilio)

Hopefully this is what you need, let me know otherwise :)

https://share.firefox.dev/312S5sw

Flags: needinfo?(emilio)

That's great Emilio, thanks. One more thing (for now): can you enable gfx.webrender.debug.compact-profiler, gfx.webrender.debug.profiler and gfx.webrender.debug.gpu-time-queries, and tell me what the rough values are for "Renderer" and "GPU"?

Renderer is between 5 and 10ms. GPU is between 30 and 50ms.

The high GPU time makes sense given that most of the profile is spent in swapbuffers. We're obviously doing something on that page that the GPU struggles with, but I'm not sure what.

One last thing! Could you unset compact-profiler but leave profiler and gpu-time-queries enabled. You should now see a sort of colour-coded bar chart. (It might help to go in to landscape and/or set gfx.webrender.debug.small-screen true.) You should be able to look up the colours of the bars and see which type of primitives are taking the most GPU time?

Attached image profiler screenshot

Seems like most of it is in the mixblend stuff.

Ahh, here's the mix-blend-mode:

.feature-inner::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    box-shadow: 0 24px 48px rgba(17, 16, 62, 0.12);
    mix-blend-mode: multiply;
}

Removing the mix-blend-mode: multiply declaration doesn't seem to change rendering meaningfully... Maybe other browsers / layers manage to optimize it out?

Blocks: wr-gpu-time
Severity: -- → S3
Priority: -- → P3
Summary: Janky scrolling on mobile in www.rrweb.io → Janky scrolling on mobile in www.rrweb.io (bad GPU time)

This page seems to run well now (probably as a result of the optimizations we made to handling mix-blend containers that are root elements).

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: