5

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

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

您可以在此处使用相同的库查看另一个演示

和一个使用 WebRTC 的不同的,这里有同样的问题

4

2 回答 2

7

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

这很慢,因为它只是一件很慢的事情 - 有很多像素,帧很快通过,而且这是一项高 CPU 工作。更糟糕的是,Javascript 在这种数据密集型处理中并不总是非常有效。所以我不认为缓慢是WebRTC固有的。这只是繁重的javascript。

于 2012-11-11T20:19:57.347 回答
1

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

有一个使用网络工作者进行运动跟踪的演示(仅限 Firefox)。在这个演示中 CPU 使用率似乎很高,但工作人员报告的 fps 远远超过了视频的帧速率,因此尝试将工作人员限制为 30 fps 可能会有一些好处。

于 2013-01-14T06:27:55.397 回答