Closed Bug 1655530 Opened 4 years ago Closed 4 years ago

sw-wr: Scrolling the Matrix room list is laggy with SW-WR

Categories

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

defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox81 --- affected
firefox85 --- affected

People

(Reporter: cpeterson, Unassigned)

References

(Blocks 1 open bug, )

Details

STR:

  1. Set gfx.webrender.software = true.
  2. Log into https://chat.mozilla.org/
  3. Scroll the room list. I'm scrolling using a touch pad scroll gesture on my Windows 10 laptop.

Result:
The room list scrolling is slow and laggy. Resetting gfx.webrender.software = false (and restarting Firefox) returns room list scrolling to be smooth and more responsive.

Here is a Gecko profile with SW-WR:

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

If you could enable all threads in the profiler, that would be helpful. The provide does not actually show what SW-WR is doing since the rendering threads have been excluded in the GPU process.

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

If you could enable all threads in the profiler, that would be helpful. The provide does not actually show what SW-WR is doing since the rendering threads have been excluded in the GPU process.

Here's a new profile with all the threads (GeckoMain,Compositor,RenderBackend,PaintWorker,StyleThread,Socket Thread,Renderer,DOM Worker,DNS Resolver,ImgDecoder,StreamTrans):

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

Looks like a lot of time is spent in cs_clip_image_frag::run. The cs_clip_image shader is most likely pretty slow because it uses discard, and thus bypasses a lot of the SWGL fast-paths.

Severity: -- → S3
Priority: -- → P3

Can you grab a new profile? Things should be somewhat better now.

Flags: needinfo?(cpeterson)

(In reply to Jeff Muizelaar [:jrmuizel] from comment #4)

Can you grab a new profile? Things should be somewhat better now.

Scrolling with sw-wr is smoother now than it was when I filed this bug four months ago, but is still a little laggy.

Flags: needinfo?(cpeterson)

Here's my latest profile:
https://share.firefox.dev/2O5SztL

biggest bottlenecks are:

  • commit_solid_span
  • cs_clip_image_TEXTURE_2D_frag::run

I think we could probably be doing better invalidation wise.

Going to close this for now since cs_clip_image has been extensively optimized in bug 1682195, and should no longer be the bottleneck for this.

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