Open Bug 1678800 Opened 4 years ago Updated 8 months ago

Janking while doing touchpad scroll on kobol.io (sw-wr)

Categories

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

defect

Tracking

()

Tracking Status
firefox85 --- affected

People

(Reporter: yoasif, Unassigned)

References

(Blocks 2 open bugs, )

Details

(Keywords: nightly-community)

Attachments

(1 file)

Blocks: sw-wr-perf
Severity: -- → S4
Priority: -- → P3

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

https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/a9bx42FeStK-c6oKX9G_AQ/runs/0/artifacts/public/build/target.zip

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,

Flags: needinfo?(yoasif)

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!

Flags: needinfo?(yoasif)
Depends on: 1685437

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!

Flags: needinfo?(yoasif)

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!

Flags: needinfo?(yoasif)

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.

layers.gpu-process.enabled=false should disable the GPU process, so that SWWR runs in the parent.

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.

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?

Flags: needinfo?(yoasif)

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!

Flags: needinfo?(yoasif)

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.

I have filed bug 1688135 on the profiler problem.

Matt, can we consider this resolved now?

Flags: needinfo?(matt.woodrow)

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.

Flags: needinfo?(matt.woodrow)
Flags: needinfo?(yoasif)

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

Flags: needinfo?(yoasif)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: