如何使用javascript获得良好的帧率?

时间:2016-10-04 13:04:49

标签: javascript html5-video web-worker

我正在尝试使用像素操作将过滤器应用于javascript中的全高清视频。

我使用隐藏的画布,网络工作者和可转换广告创建了一个演示:

http://lab.jure.it/ww/ww.html

结果是使用网络工作者,浏览器的标签会在短时间内崩溃,视频的性能非常低(约5fps)。

如果选择“Web worker:0”,则不使用ww,性能会更好(~15fps)并且选项卡不会崩溃。

我该怎么办?目标是获得良好的帧率(~30fps),避免使用SVG或CSS过滤器。

感谢。

1 个答案:

答案 0 :(得分:0)

循环遍历所有像素并在CPU上转换它们并不是一个好主意。这就是GPU的用途。在过去,这意味着你必须使用一些讨厌的东西,比如Flash。

幸运的是,新技术正在兴起,大多数流行的浏览器都可以使用图形加速。它被称为WebGL,它允许您使用图形卡进行这些操作。

除非你想学习WebGL的所有内部秘密(它非常复杂),否则我建议你使用专为2D动画设计的PixiJS框架。

您可以在此处查看他们的过滤演示:http://www.goodboydigital.com/pixijs/examples/15/indexAll.html

此处有更多演示和示例:https://pixijs.github.io/examples/#/basics/basic.js