WebRTC性能 - 非常高的CPU负载

时间:2012-11-03 18:53:45

标签: javascript performance html5 html5-canvas webrtc

使用js library +画布构建的运动检测器WebRTC。 当我运行应用程序时,我立即获得非常高的CPU使用率。 我优化了循环等,但基本问题似乎是访问摄像头,例如WebRTC。

有没有办法让WebRTC表现得更好?也许是另一种配置?还是有什么我想念的?这可能是一些js内存泄漏我处理错了吗? 我做错了什么?

您可以使用相同的lib

检查另一个演示here

和另一个使用WebRTC且具有相同问题的here

2 个答案:

答案 0 :(得分:6)

该演示看起来像通过检查视频图像的像素进行运动检测。它似乎将它渲染到画布然后检索画布图像数据。

这很慢,因为它只是一件很慢的事情 - 有很多像素,帧快速通过,而且CPU工作量很高。事实上,Javascript在这种数据繁重的处理中并不总是很有效率。所以我不认为WebRTC固有的缓慢。这只是沉重的javascript。

答案 1 :(得分:1)

您是否尝试过使用Web Workers进行计算?

有一个demo using web workers for motion tracking(仅限Firefox)。在这个演示中,CPU使用率似乎很高,但是工作人员报告的fps超过了视频的帧速率,因此尝试将工作者限制为30fps可能会有一些好处。