High CPU utilization on client end

I Have the Same Problem with my Macbook Air.
When there are more than 5 Peopole on a call CPU Usage is over 100%
When I use Webex there Computer is still running smoth with 10 Users on a call

2 Likes

I didn’t do a proper benchmark, but since Jitsi Meet Electron 2.0.0 (or the beta a few days before), the performance on my client (Fedora and/or Debian VM on Qubes) seems to have improved noticeably. I still have high CPU utilization, but the videos are much smoother now.

I have only tested the new Electron app with a maximum of ten other people sharing video+audio.

@damencho is there any solution to avoid using CPU and force always the hardware acceleration on client?

2 Likes

Solution to the Client computer bottleneck
Jitsi meet work out of the box with up to about 15 participants. After that you will start to run into bottlenecks for users with slow computers that the user-interface redraw itself too much and consume 100% cpu.
This can be solved by profiling using the chrome performance monitor and disable all things that consume CPU time.

For example audio level monitoring that render the blue dots when someone talk trigger GUI updates. With many users these GUI updates will cause the client web-browser to redraw too frequently that will cause the user to have a bad audio experience due to missed audio updates. The solution is to simply disable the AudioLevels monitoring.
disableAudioLevels: true,

On the left only 10% CPU when audio levels are disabled. On the right 100% CPU time when audio levels are enabled due to frequent audioLevelReport processing and GUI re-layout.

2 Likes

So I just tried this on some of our machines - mostly Macbook Pros, reasonably decent spec from the last 2-3 years. It seems to have helped a little bit perhaps, but not by any significant amount.

I also tried the same using https://meet.jit.si/someroom#config.disableAudioLevels=true and while the blue dots did in fact vanish, the CPU utilization was not much better. Still 95-120% on my 3.5ghz Intel i7 Macbook Pro.

Which Jitsi version did you try this on? Did you make any other changes? I’m dying to find a way to get the CPU utilization down myself - when using the profiler it all seems to be Scripting that takes time, in small bursts. Sometimes related to mouseover events, sometimes just the timer functions.

Any extra ideas on this @xranby would be amazing!

2 Likes

Try use the chrome browser inspect page -> performance tab analyser and check what is causing high CPU/GPU load on your machine. You may experience something different that cause your high load.

Open the chrome browser page inspector, switch to the Performance tab, then press record for about 5-20 seconds.

With the capture allows you to zoom using the scroll view and highlight sections of the capture with high CPU load and investigate what function calls cause the CPU load. The “flame graph” will reveal what scripting function is causing the high CPU/GPU load.

Please share a screenshot of the performance tab or share the saved capture from the performance tab so that we can see what is happening on your machine without guessing.

This is how it look when you are profiling: High CPU utilization on client end

Chrome profiling and evaluation tips: https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/

2 Likes

Same issue here, of high CPU load.

DELL Latitude 7480
OS: Windows 10 (1909)
Browser: Google Chrome (81.0.4044.113)
CPU: Intel Core i3-7100U @2.4GHz
GPU: Intel HD Graphics 620
RAM: 8Go

Initially my Google Chrome browser was in “compatibility mode Window 8”, due too a bug link to Symantec Endpoint Protection.
In compatibility mode, even in a simple conference with 3 participants, it was unusable. CPU at 100%, laggy computer, robotic voice etc.

After applying the workaround from Symantec, and disabling compatibility mode, it’s better, but CPU usage is still high, between 80% and 100%. It regularly hit the 100%, but it comes down a little (around 85%) quickly enough to not affect audio quality.

On my typical 3 participants conference test, the two others are a Chromium Browser (80.0.3987.162), and a android phone using Jitsi-Meet app (20.2.1)

2 Likes

Having the same issue.

OS: Windows 10 (1909)
Browser: 81.0.4044.113
CPU: Intel J2900 @2.4GHz (Quadcore)
RAM: 4 GB
Webcam: Logitech C270

As soon as the Jitsi meeting starts, the Video Capture process shows up with a high CPU load in Chrome Task Manager (Shift ESC). This is already the case when I’m the only one in the meeting.

When the someone joins, the CPU load of the Video Capture process increases slightly and the CPU load of the tab Jitsi Meet also goes up a lot.

On this PC this makes using Jitsi with video unuseable.

We see the same issue on Chrome. Can anybody from the community give us some advice?

please share a screenshot of the performance profile, or attach the performance profile so that we can look at it and examine what is causing the high cpu load instead of guessing: instructions: High CPU utilization on client end

OK, hopefully I got it right with the performance profile. Basically I had it running for 20 secs. During this time the CPU was at 100% all of the time (was not able to find that back in the performance profile). Please let me know if you need another view of the profile. Thanks a lot!

Hi,
I have the same type of issues.
However I noticed that if I use Chrome and I set the view to tiles the CPU load is reduced significantly.
I also set disableAudioLevels: true in jitsi meet config, reduced max resolution to 480p and disabled p2p.
I tested this configuration also in meet.jit.si by joining with 3 pertecipants (to disable p2p) and the behavior is confirmed: CPU load seems ok.
In Firefox the problem still persists.
So this test makes me think that the problem is around the dominant speaker detection, but only a guess.

thank you all for your help.

Riccardo.

2 Likes

The several spikes in your CPU usage originate from the “Recurrent neural network for audio noise reduction” audio processing filter that eliminate ringing during a multi party call.

You can experiment with disable some audio processing options in the config.js:

 // Disables all audio processing
 disableAP: true,
 
 // Disables Acoustic Echo Cancellation
 disableAEC: true,

 // Disables Automatic Gain Control
 disableAGC: true,

  // Disables Noise Suppression
 disableNS: true,

 // Disables Highpass Filter
 disableHPF: true,

Without the audio processing you will hear feedback loop noise from speakers to microphone. The feedback loop noise can be avoided if everyone are using headphones :headphones: .

Disable of all audio processing is also OK if you only have one speaker and everyone else listen with mic turned off.

3 Likes

Further i have disabled most extra indicators that cause GUI re-layouts thus reduce CPU load on the client browsers
set in the /usr/share/jitsi-meet/interface_config.js

SET_FILMSTRIP_ENABLED: false,
DISABLE_FOCUS_INDICATOR: true,
DISABLE_DOMINANT_SPEAKER_INDICATOR: true,

I have also disabled the popup messages when someone enters the room:
also set in the /usr/share/jitsi-meet/interface_config.js
DISABLE_JOIN_LEAVE_NOTIFICATIONS: true,

4 Likes

Thanks for the useful tips! Will try to find the time shortly to test the various options.

Can you explain what these 2 options do in the GUI? It’s not clear for me
Thanks :slight_smile:

SET_FILMSTRIP_ENABLED: false,

This filmstrip option makes the miniature square icons on the right side start hidden. There is a small “<” symbol on the right to un-hide the miniature square icons of all participants if you want to see them.

DISABLE_DOMINANT_SPEAKER_INDICATOR: true,
This option disable the blue megaphone button :mega: at the top left corner of the current speaker

DISABLE_FOCUS_INDICATOR: true,
This option removes the moderator mark in the thumbnail

3 Likes

I noticed that 28% of CPU was consumed by the video background for one user, thus to reduce CPU usage edit the /usr/share/jitsi-meet/interface_config.js and set
DISABLE_VIDEO_BACKGROUND: true,

2 Likes

I was able to test with the various settings. Only saw a noticeable decrease in CPU load when turning down the resolution to 240. CPU was then down from 100% to around 80% in a meeting with to participants. After number 3 joined the CPU went up to around 95%. With number 4 the audio started to run async with the video and the “can you here me? are you still there?” started.

On this particular PC, I give up.

Hello I have a 100% CPU usage on two decent PC I have at home. Jitsi is launched in Chrome by a remote school web app (https://www.weschool.com/). Everything therefore is inside Chrome and I have no idea on where to find the configuration file on the Win 10 OS folders.
Where should I look to disable the jitsi features that kill my CPUs?
Thanks