Janky scrolling on mobile in www.rrweb.io (bad GPU time)
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
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.
Reporter | ||
Comment 1•4 years ago
|
||
Comment 2•4 years ago
|
||
Could you attach a profile please Emilio? With screenshots disabled and the renderer thread enabled. Thanks!
Updated•4 years ago
|
Reporter | ||
Comment 3•4 years ago
|
||
Hopefully this is what you need, let me know otherwise :)
Comment 4•4 years ago
|
||
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"?
Reporter | ||
Comment 5•4 years ago
|
||
Renderer is between 5 and 10ms. GPU is between 30 and 50ms.
Comment 6•4 years ago
•
|
||
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?
Reporter | ||
Comment 7•4 years ago
|
||
Seems like most of it is in the mixblend stuff.
Reporter | ||
Comment 8•4 years ago
|
||
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?
Updated•4 years ago
|
Comment 9•2 years ago
|
||
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).
Description
•