Open Bug 1709737 Opened 3 years ago Updated 3 years ago

rally.mozilla.org parallax animation is very laggy with SW-WR

Categories

(Core :: Graphics: WebRender, defect)

Unspecified
Windows
defect

Tracking

()

Tracking Status
firefox-esr78 --- disabled
firefox88 --- affected
firefox89 --- affected
firefox90 --- affected

People

(Reporter: cpeterson, Unassigned)

References

(Blocks 1 open bug, )

Details

Steps to reproduce

  1. Enable gfx.webrender.software and restart Nightly.
  2. Load https://rally.mozilla.org/
  3. Mouse over the illustration of the people with flags to see a parallax animation.

Expected results

The animation should be smooth. Here is a profile of mousing over a smooth animation with Accelerated WR: https://share.firefox.dev/3en4r5y

Actual results

The animation is laggy. Here is a profile of mousing over the laggy animation with SW-WR: https://share.firefox.dev/3b5BoRQ

The SW-WR profile shows nothing for the Renderer thread. Can you please check if you're using the graphics profiler preset, or if there is something in your profiler setup that is preventing it from properly showing callstacks into the Renderer thread?

Severity: -- → S3

Tried profiling locally on Linux SW-WR, what I see is mostly a lot of time spent in ps_split_composite::run_perspective. So the perspective transform on this bypasses a lot of our fast-path handling. Not easy to fix at the moment, but will leave this on file for later in case I can think of something that can be done about this in the short-term.

(In reply to Lee Salzman [:lsalzman] from comment #1)

The SW-WR profile shows nothing for the Renderer thread. Can you please check if you're using the graphics profiler preset, or if there is something in your profiler setup that is preventing it from properly showing callstacks into the Renderer thread?

That problem might be related to crash bug 1709900: after recording these profiles, the unsubmitted crash reporter later told me that I had hit seven GPU process crashes in mozilla::layers::profiler_screenshots::ScreenshotGrabberImpl::ScaleDownWindowRenderSourceToSize.

Here's a new SW-WR profile that includes the Renderer thread:

https://share.firefox.dev/3nSlWO0

(In reply to Lee Salzman [:lsalzman] from comment #2)

Tried profiling locally on Linux SW-WR, what I see is mostly a lot of time spent in ps_split_composite::run_perspective. So the perspective transform on this bypasses a lot of our fast-path handling. Not easy to fix at the moment, but will leave this on file for later in case I can think of something that can be done about this in the short-term.

I see 45% of the time in my new profile is also spent in ps_split_composite_frag::run_perspective().

You need to log in before you can comment on or make changes to this bug.