我正在尝试使用像素操作将过滤器应用于javascript中的全高清视频。
我使用隐藏的画布,网络工作者和可转换广告创建了一个演示:
结果是使用网络工作者,浏览器的标签会在短时间内崩溃,视频的性能非常低(约5fps)。
如果选择“Web worker:0”,则不使用ww,性能会更好(~15fps)并且选项卡不会崩溃。
我该怎么办?目标是获得良好的帧率(~30fps),避免使用SVG或CSS过滤器。
感谢。
答案 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