1

当我单击 avideo时,它应该从其原始位置动画到某个目标位置。由于某些原因,我无法为原始video元素设置动画,因此我为由cloneNode(). 单击时,我只循环浏览大约 5 个视频(时长不到 20 秒)和 5 个图像。我的动画方法只导致视频滞后,有时根本不渲染,而图像似乎不受影响。我注释掉了我所有的动画代码,除了一行:

var clone = videoElement.cloneNode( false ); 

如果没有动画代码,图像/视频只会立即传送到目标位置(这是预期的)。但是,当我相对较快地单击时,未注释该单行会导致视频有点滞后(如果我幸运的话),有时根本不会在 Chrome 中呈现。在 Edge 中,视频需要几秒钟才能渲染。删除该行,无论我点击多快,视频都可以正常加载/渲染。

  1. 为什么会这样?真的cloneNode就这么慢吗?
  2. 这个问题有什么切实可行的解决办法吗?
4

1 回答 1

1

看起来问题出在 cloneNode() 上,但事实证明这是因为我使用 mp4 文件作为视频的来源。mp4 在 Chrome 中已弃用。一旦我转换为 webm 视频文件,滞后/渲染问题就完全消失了。

于 2016-06-09T10:06:48.590 回答