Additional features, settings, or issues not covered by specific Microsoft Teams categories
Don't bother.
There is not yet a fix to this issue, short of turning off your camera and turning off all incoming video.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Since the latest update of MS Teams (current version 1.3.00.9271 updated on 07/05/20) on a MacBook (early 2015), every time I now join a Teams call, the Microsoft Teams Helper is using >100% of CPU and causing the laptop to overheat. I have disabled the GPU acceleration as seen on some other message boards but this has no impact, and could do with a fix for this ASAP.
Many thanks in advance.
Additional features, settings, or issues not covered by specific Microsoft Teams categories
Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.
Don't bother.
There is not yet a fix to this issue, short of turning off your camera and turning off all incoming video.
The problem (other than it being a Microsoft software issue that needs "real fixing") can be somewhat mitigated by using the following techniques. I have both a 15" 2019 MacBook Pro i7 and a 2018 Mac Mini i7 6-core using an eGPU and Radeon 5700XT pushing 4 monitors. So there is plenty of power behind my systems and yet the Teams renderer issue is still a problem and is most definitely flawed in its current state.
That said, first, the system being unusable is directly related to how large the window with all the video from people in the meeting is made on the screen. When maximized on the screen on one of my 4k monitors (3840x2160) the system crawls and is unusable. When I shrink the window to its smallest possible size (about 1/8 full screen) the system becomes much more responsive. Basically makes your desktop video conference more like an iPhone Facetime session. This doesn't help much when someone is sharing their screen and you need to actually see it, but otherwise it makes a big difference.
Second, you can further lessen the effect of the renderer on your overall system performance by reducing the app's processor priority in macOS. I'm running 11.2.3 (Big Sur) and this helped considerably.
renice -n 10 -p {PID}
Use the number you obtained in the first step in the above command you enter in this second step. Hit return.
That's it! You should see a considerable improvement in how responsive your system is while on a meeting. Hope this helps you all out until Microsoft wakes up and takes care of this issue that's lasted more than a year. Keep in mind that you will have to do this each time you join a new meeting as each new meeting gets a new PID. So it must be set each time. Yes, annoying I know.
Here's more detail on the command above for those that are interested...
The -n option changes the nice level by adding 10 to the current value (0 by default). The range of values are -20 to 20, with lowest value meaning highest priority. As an ordinary user, you can use values 0 to 20. To assign a negative value, you need to have root privileges (e.g. use sudo command). Read more about nice and renice by typing "man nice" and "man renice" in Terminal.
Nice and renice do not limit the percentage of the CPU availability to a given application per se, they do however allow for changes to the scheduling priority, or in other words how much of the CPU time a process will get. This is all relative to the CPU load on a system. So if the system is under utilized it will have no noticeable effect.
// Reduce a process' CPU priority
renice -n 10 -p {PID}
// Return a process' CPU priority to normal
renice -n 0 -p {PID}
Interesting - first test wast good ... below sh script to make it automated:
teamsfix.sh
#!/bin/bash
my_array=( $(pgrep -f renderer) )
for i in "${my_array[@]}"
do
renice -n 10 -p $i
done
EwiPi your script is a good idea but it's a little broad - it'll catch renderers used by other apps also built on Electron. I've slightly modified your script as shown below:
#!/bin/bash
my_array=( $(pgrep -f "Microsoft Teams Helper (Renderer)") )
for i in "${my_array[@]}"; do
renice -n 10 -p $i
done
Thanks for this script, I will definitely try it out, I have the exact same problem as everyone else.
But just to be sure, to undo the changes this makes, is it just to change the value between -n and -p to 0, or is there another way?