Janking while doing touchpad scroll on kobol.io (sw-wr)
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox85 | --- | affected |
People
(Reporter: yoasif, Unassigned)
References
(Blocks 1 open bug, )
Details
(Keywords: nightly-community)
Attachments
(1 file)
(deleted),
text/html
|
Details |
Scroll down https://kobol.io/ using touchpad.
Profile: https://share.firefox.dev/3pQ01HS
Reporter | ||
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Comment 1•4 years ago
|
||
Could you please try out the build from here: https://treeherder.mozilla.org/jobs?repo=try&selectedTaskRun=a9bx42FeStK-c6oKX9G_AQ.0&tier=1%2C2%2C3&revision=f478f28ccafbbda0f9fd2696a95763af94ae7d12
This build adds a new pref gfx.webrender.software.d3d11.upload-mode
and takes a value between 1 and 4. 2 should match the existing behaviour, but the others will hopefully at least change performance.
If you could try those out (shouldn't need a restart) and captures profiles if you feel it changes the feel at all that would be super helpful! Thanks,
Reporter | ||
Comment 2•4 years ago
|
||
Matt, I tried the setting you instructed me to try - when I tried 1
, Firefox seemed to break, so I ended up restarting anyway.
I couldn't really tell much of a difference between the four options - perhaps 1 and 4 were the best and 2 the worst, but I can't really be sure.
Perhaps the profile tell a different story:
2 = https://share.firefox.dev/2KeKbXq
1 = https://share.firefox.dev/2Wxv0uN
3 = https://share.firefox.dev/34oQHBN
4 = https://share.firefox.dev/387Z2uw
Hope this helps!
Comment 3•4 years ago
|
||
Sorry for taking so long to get back to this, had some time off over the holidays.
Unfortunately we don't get symbols for try builds (which I forgot about), so it's hard to tell what's happening in those profiles.
I've landed the pref in Nightly, so if you update (to a revision where Build ID in about:support is 20210111093448), then the pref should be available there.
Thank you!
Reporter | ||
Comment 4•4 years ago
|
||
Matt,
No worries - I reprofiled:
2 = https://share.firefox.dev/3nMPtao
1 = https://share.firefox.dev/3sB08sc
3 = https://share.firefox.dev/2XQAlhy
4 = https://share.firefox.dev/3bOrqp9
The fourth one seemed the best to me, but they were all unfortunately not amazing.
Hope this helps!
Comment 5•4 years ago
|
||
I'd be curious to see how SWWR running in the parent process compares to this. Is it possible to disable the GPU process? For some reason it always seems like the GPU process is not getting enough CPU resources in Asif's profiles from this machine.
Comment 6•4 years ago
|
||
layers.gpu-process.enabled=false should disable the GPU process, so that SWWR runs in the parent.
Reporter | ||
Comment 7•4 years ago
|
||
Set layers.gpu-process.enabled=false - some new profiles:
2 = https://share.firefox.dev/3imh6WF
1 = https://share.firefox.dev/3bL8N5u
3 = https://share.firefox.dev/3il6APo
4 = https://share.firefox.dev/3imQogq
Comment 8•4 years ago
|
||
Thanks! Now it's the parent process that doesn't get any CPU resources. Fascinating.
For example, the new profiles show 100ms+ Styles markers on the parent process main thread, whereas the old profiles didn't have slow Styles markers on the parent process main thread.
Comment 9•4 years ago
|
||
Out of curiosity, could you get another set of profiles with mode 4, GPU process on and off, with the "No Periodic Sampling" profiler feature enabled?
Reporter | ||
Comment 10•4 years ago
|
||
Markus, I enabled the "No Periodic Sampling" profiler feature and took these profiles in mode 4:
layers.gpu-process.enabled=false = https://share.firefox.dev/2KwS1fi
layers.gpu-process.enabled=true = https://share.firefox.dev/3bPzWnL
Hope this is interesting!
Comment 11•4 years ago
|
||
Very interesting, thanks! So without sampling, we no longer see any egregious slow down of the parent process main thread, or at least there are no more long Styles markers.
Also, the latest layers.gpu-process.enabled=false profile looks like it was the best experience so far; hardly any composites took longer than 60ms. The layers.gpu-process.enabled=true profile has a fair number of 60ms+ composites.
I'm not sure if that's a fluke, or if having the compositor in-process really is better.
Comment 12•4 years ago
|
||
I have filed bug 1688135 on the profiler problem.
Comment 14•4 years ago
|
||
Asif, do you find the current performance on this page acceptable?
The best performance seemed to be with the GPU process disabled, which we're not doing by default (since it has other security and stability benefits), so hopefully it's acceptable in the current state.
Updated•4 years ago
|
Reporter | ||
Comment 15•4 years ago
|
||
Matt, the animations seem smoother to me on Edge on this machine, and surprisingly, it seems worse on standard WebRender as well (than Edge as the baseline). Given that it is worse than Edge, I'd want it to be better, but it isn't terrible on Firefox.
Here's a new profile: https://share.firefox.dev/3xfgOrM
Description
•