Open Bug 1281035 Opened 8 years ago Updated 2 years ago

Firefox WebRTC - High CPU usage in device (microphone/camera) renegotiation

Categories

(Core :: WebRTC: Networking, defect, P3)

47 Branch
x86_64
macOS
defect

Tracking

()

UNCONFIRMED

People

(Reporter: abhinav.khaware, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: stale-bug)

Attachments

(7 files)

Attached file FF47_log.txt.zip
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.41 Safari/537.36

Steps to reproduce:

1. Join session by providing Guest Name on https://apollodemo01.bbcollab.com/collab/ui/session/guest/8A5D356DFE1118DC9196240915B8CD23?redialOnFFTC=false
2. Start microphone.
3. Check CPU Usage on Activity Monitor for Firefox.

Attaching signaling logs - FF47_log.txt.zip, 
about:webrtc page output - about-webrtc.txt,
Screenshot - Firefox 47 Process High CPU WebRTC.png
Macbook details - MacBook Pro Abhinav.zip


Actual results:

CPU usage for Firefox process spikes to ~500% after starting microphone.


Expected results:

CPU usage should never spike to ~500%.
Attached file about-webrtc.txt
Uploading trace and accompanying signaling logs - Instruments FF47.trace.zip and FF47_log_2.txt.zip
Attached file FF47_log_2.txt.zip
Instruments FF47.trace.zip available at https://drive.google.com/file/d/0BzQI6MLbgP7vdUI1YnFtS2dRSWc/view for download.
OS: Unspecified → Mac OS X
Hardware: Unspecified → x86_64
Summary: High CPU usage in Blackboard session with Firefox WebRTC → Firefox WebRTC - High CPU usage in device (microphone/camera) renegotiation
We see this issue only when user accesses devices and SDP is renegotiated. If we re-establish the PeerConnection in place of renegotiation we don't see high CPU consumption.
Component: Untriaged → WebRTC: Networking
Product: Firefox → Core
backlog: --- → webrtc/webaudio+
Rank: 19
Priority: -- → P1
See Also: → 1247244
Mass change P1->P2 to align with new Mozilla triage process
Priority: P1 → P2
Moving to p3 because no activity for at least 1 year(s).
See https://github.com/mozilla/bug-handling/blob/master/policy/triage-bugzilla.md#how-do-you-triage for more information
Priority: P2 → P3

Bump. This drains the battery of my laptop every time I make a conference call (which I do relatively often). It'd be nice if this could be fixed.

I cannot reproduce the problem in the description; CPU usage does not look unusual.

frederick888, which conferencing service are you using? Is this an audio-only conference, or audio/video? How many participants?

Flags: needinfo?(frederick888)

(In reply to Byron Campen [:bwc] from comment #12)

I cannot reproduce the problem in the description; CPU usage does not look unusual.

frederick888, which conferencing service are you using? Is this an audio-only conference, or audio/video? How many participants?

I experienced this issue when using UberConference and Google Hangouts Meet. They were audio-only calls with 3-5 people.

By the way I'm using an old Macbook (model A1398 EMC 2881) with integrated Intel graphics and Nvidia.

Flags: needinfo?(frederick888)
Attached image cpu usage linux.png
Attached image cpu usage macos.png

I made a UberConf call between my Macbook and Linux laptop and it seems that it's even worse in Linux (see in attached screenshots).

My Linux laptop is using an Intel i7-6820HK and the integrated graphics is disabled.

Ok, so that does not really look like what was in the description. It could be more efficient though. It is possible that the conferencing service you're using work with a full-mesh, meaning you have to encode the same audio separately for each participant, which can get quite expensive. I would be able to tell from the output of about:webrtc.

Blocks: webrtc-perf
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: