Closed Lisztos closed 9 months ago
@manjeshbhargav this is blocking us from upgrading
Hi @CyranMS, thank you for the detailed report. Our QE team is working to reproduce the performance degradation between mentioned versions. We will be setting priority of the issue based on their findings.
Hey all, the team here was able to reproduce this issue. We prioritize fixing it in this sprint.
That is great to hear and very fast. Thanks @anna-vasilko!
In the release note for the video processor v2 it said that webgl2 needs about 30% less cpu. Is that claim still accurate? We are upgrading mainly because of that benefit to have better meeting quality by using less cpu.
@CyranMS , @Lisztos ,
I found out that the CPU max-out behavior (resulting in huge delays in the video stream) happens primarily on Intel-based Graphics Cards for 720p and greater resolutions. So, while we work to investigate further, I suggest a workaround:
1. addProcessor() - If video resolution is 720p,`LocalVideoTrack.restart()` at 480p if your app is running on Chrome with an Intel-based Graphics Card. Otherwise continue capture at 720p.
2. removeProcessor() - If original resolution was 720p, then `LocalVideoTrack.restart()` at 720p.
You can figure out the graphics card name by using the following code snippet:
/**
* Get the graphics card information.
* @returns {string} Graphics card information
*/
function getGraphicsCardInfo() {
const gl = document.createElement('canvas').getContext('webgl2');
if (!gl) {
return {
error: "no webgl",
};
}
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
return gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
}
Thanks for looking into it @manjeshbhargav! We'll check this out. Will there also be a proper fix any time soon?
Hey @anna-vasilko @manjeshbhargav . Just wondering if anyone has an idea on when we can expect that fix. Really hoping this gets sorted out soon! We faced this issue a lot, cpu max-out behavior, delay in video streams Thanks
@anna-vasilko @manjeshbhargav any updates?
This is a huge blocker for us too. Same behavior.
Any updates on this? Performance is going to be important as we may have devices with low CPU capability.
Hi all, Apologies for the delay and the troubles caused by the CPU max-out issue. It was temporarily de-prioritized since the issue appeared to be less widespread than initially thought. Nevetherless please be assured that we are commited to address this, we aim to pick up this work in the next sprint. In the interim, I recommend using the workaround mentioned here to avoid the cpu maxout as the issue is specific to Intel-based graphic cards when video track resolution is 720p or greater.
Thanks for the update @anna-vasilko. Is there a rough estimate of when that will be done? This will help us to determine if we need to implement the workaround or if we wait for the new update.
Hey @CyranMS The work is in the current sprint. However it will likely spill over to the next one since the team have to prioritize the newly discovered iOS17 issues. Conservatively I would say this fix will ship 2-3 weeks from now.
Any update here @anna-vasilko ?
Any update here @anna-vasilko? This is a crucial blocker for our use case.
Any update here @manjeshbhargav?
Hopefully this is still being worked on? The set of devices is not as limited as we might have thought.
Here just to point out how critical this issue is, we just released the backgrounds feature for clients and already had a big percentage of them experiencing this, we had to disable it for now.
An update would be great @anna-vasilko 🙏
Doubling down on how important this is. We are unable to roll out to certain clients because of this issue.
Any update on this? It is super critical for us
Any update on this? Also can critical for us.
We are working on this as our top priority, and we are aiming for a fix by end of this year. Please watch this space updates.
Hi devs,
There is a new RC available with a fix for this issue: npm install twilio/twilio-video-processors.js#2.1.0-rc2
(script tag version bundle and assets available here). Please try it out and let us know if it helps. I will expedite the publishing of the production version 2.1.0
based on your feedback and our QA process.
v2.1.0
is now available. Closing the issue.
Code to reproduce the issue:
This is a snippet of our code, nonetheless, I follow standard implementation.
I created a performance profile with both the following setups to test the difference in CPU usage. In the test, I switched from no virtual background to blurred virtual background.
Current Setup:
With the current setup, you can see the CPU usage increase, having constant spikes. (screenshot 1)
Updated Setup:
After updating versions and switching to the Webgl2 pipeline, the CPU usage maxed out and stayed high. (screenshot 2)
Software versions: