Open Bug 1666866 Opened 1 year ago Updated 18 days ago

Bad performance in Firefox when being in a meeting at meet.google.com on Microsoft Edge

Categories

(Core :: Graphics, defect, P2)

x86_64
Windows 10
defect

Tracking

()

People

(Reporter: alex_mayorga, Unassigned, NeedInfo)

References

(Depends on 1 open bug, Blocks 1 open bug, )

Details

Attachments

(1 file)

Basic information

Steps to Reproduce:

This is a bit weird, but it seems that when somebody shares their screen on a meeting at https://meet.google.com/ Nightly performance is badly affected i.e. input is delayed, slow graphic, etc. The same happens when one tries to share Nightly screen on Google Meet.
Important to note that the meeting itself is run in a separate browser, Microsoft Edge Canary in this case.

Expected Results:

Nightly performance is not affected.

Actual Results:

Nightly performance is affected.


More information

Screenshot: N/A

Profile URL: https://share.firefox.dev/3csYmC2

Basic systems configuration:

OS version: Win 10 20215

GPU model: Intel HD Graphics 620

Number of cores: 2

Amount of memory (RAM): 24GB

Thanks so much for your help.

I can see mozilla::gfx::PGPUChild::OnChannelError in the profile, so the GPU process crashed during profiling.

Component: Performance → Graphics
Summary: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) 100% seemingly related to being in a meeting at meet.google.com on Microsoft Edge → GPU process crash when being in a meeting at meet.google.com on Microsoft Edge

Thanks for the report, Alex!

Markus, do you believe the GPU process crash is unrelated to the profiling, and therefore is the cause of the slowness?

Alex, can you see any crashes if you go to the about:crashes page? If so, could you please share a link here? Could you also please attach a copy of your about:support information. Thanks!

Flags: needinfo?(alex_mayorga)

¡Hola Markus, Jamie!

Thanks so much for looking int this!

As I mentioned the issue on the meeting one of my colleagues suggested to check the Windows Task Manager where we identified a process with a green leaf on it under Firefox Nightly child processes, it was suggested to terminate it so this might be what you see there. The overall slowness and jankiness was there prior and after me terminating said process.

Here are the crashes for this month:

Submitted Crash Reports
Report ID Date Submitted
bp-410c8664-395a-4479-9c2d-b47ca0200924 9/23/2020, 19:53
bp-bd6703f0-da12-482a-9cfc-99c4b0200923 9/23/2020, 08:52
bp-eca7a1c4-f11e-43e3-8670-cd3af0200922 9/22/2020, 09:10
bp-167fee58-0dff-47e3-a3e8-451fb0200903 9/2/2020, 21:49
bp-676b770f-9a6c-4479-a223-7ea0e0200903 9/2/2020, 21:49
bp-26c067ee-6046-43a7-abbb-959bd0200903 9/2/2020, 21:49
bp-8c2680f5-18f5-467d-bf18-e8b220200903 9/2/2020, 21:49
bp-d01ae0b5-df38-4318-a66b-1d4030200903 9/2/2020, 21:39
bp-cb821b0f-3494-45e5-bad3-b48220200903 9/2/2020, 21:38
bp-f26ad0c1-1202-49cf-bd25-dcb8c0200902 9/2/2020, 16:34

about:support in next attachment.

Please let me know if there's anything I could provide to help get this bug fixed.

¡Gracias!
Alex

Flags: needinfo?(alex_mayorga) → needinfo?(jnicol)
Attached file about:support
Blocks: gfx-triage
Flags: needinfo?(jnicol)

¡Hola Jamie!

This happened again today.

I managed to capture a profile:

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

Hope this is helpful.

Please do let me know if there's anything else that I could provide to get this resolved.

¡Gracias!
Alex

Summary: GPU process crash when being in a meeting at meet.google.com on Microsoft Edge → Bad performance in Firefox when being in a meeting at meet.google.com on Microsoft Edge

I looked at the profile a little.

On a machine with only 2 cores, it's not that surprising that Firefox might perform slower than usual when another app is sharing the screen in a video call. However, this doesn't explain why it takes WebRender more than 1 second to put each frame on the screen: https://share.firefox.dev/3cIoZmm (look at the CONTENT_FRAME_TIME durations).
It seems like WebRender could be doing a much better job at moving a painted frame through the compositing pipeline on a busy low-core machine.

Alex, when you run into this again, could you get another profile but with the "No Periodic Sampling" checkbox checked?
This will only give us marker data, not stack data, so it'll give us a better idea of how much overhead is caused by the profiler.

Flags: needinfo?(alex_mayorga)
Depends on: 1668339

¡Hola Markus!

Will be happy to provide the requested, but searching for "No Periodic Sampling" I only found https://profiler.firefox.com/docs/#/./guide-remote-profiling?id=tips and no clear steps on how to accomplish this.

Could you please provide me with a step by step?

¡Gracias!
Alex

Flags: needinfo?(alex_mayorga) → needinfo?(mstange.moz)

(In reply to Markus Stange [:mstange] from comment #6)

I looked at the profile a little.

On a machine with only 2 cores, it's not that surprising that Firefox might perform slower than usual when another app is sharing the screen in a video call. However, this doesn't explain why it takes WebRender more than 1 second to put each frame on the screen: https://share.firefox.dev/3cIoZmm (look at the CONTENT_FRAME_TIME durations).
It seems like WebRender could be doing a much better job at moving a painted frame through the compositing pipeline on a busy low-core machine.

Another interesting point is that we get a lot of 'SkippedComposite: Too many pending frames' markers.

Severity: -- → S3
Priority: -- → P2
Whiteboard: [wfh]
Blocks: wr-perf

¡Hola y'all!

I experienced this again today and managed to capture another profile in case it is useful:

https://share.firefox.dev/2SyWJcC

If anyone could tell me how to do the "No Periodic Sampling" profile for next time please ni? me so I can note it down for next time.

¡Gracias!
Alex

(In reply to alex_mayorga from comment #10)

If anyone could tell me how to do the "No Periodic Sampling" profile for next time please ni? me so I can note it down for next time.

Sorry, I forgot to reply to this.
To enable "No Periodic Sampling", open the profiler panel by clicking the downwards-facing arrow next to the profiler toolbar button, select Settings: "Custom", go to "Edit Settings...", scroll down, and find the checkbox with the label "No Periodic Sampling". Do this before you start profiling.

(In reply to alex_mayorga from comment #10)

I experienced this again today and managed to capture another profile in case it is useful:

In this profile, did you terminate the GPU process manually again, or did it crash on its own?

Flags: needinfo?(mstange.moz) → needinfo?(alex_mayorga)

¡Hola Markus!

I'll note these steps and try to remember the next time I notice the slowdown.

This time I did not fiddle with the Task Manager that I recall so it would've crashed on its own AFAICT.

¡Gracias!
Alex

¡Hola Markus!

I tried per your steps, hope this is useful:

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

¡Gracias!
Alex

Flags: needinfo?(alex_mayorga)
Flags: needinfo?(mstange.moz)
Flags: needinfo?(mstange.moz)
Flags: needinfo?(mstange.moz)
Blocks: gfx-stalled
No longer blocks: gfx-triage

¡Hola Markus!

I had another issue today where Google Meet on Nightly would keep hanging and disconnecting.

I managed to capture this profile:

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

Should this be a separate different bug or is this the same issue?

Could you please take a look and suggest?

¡Gracias!
Alex

Here's a specific part of that profile that shows the badness:
https://share.firefox.dev/2MTq9CX

We're spending 500-600ms running script on https://chat.google.com

No longer blocks: gfx-stalled
Blocks: wr-perf-graveyard
No longer blocks: wr-perf
You need to log in before you can comment on or make changes to this bug.