Canvas动画占用了大量的GPU内存

时间:2017-01-08 23:36:19

标签: performance animation canvas gpu

我正在构建小型lib,以使自己熟悉canvas及其API。 Github上提供了工作版本:

https://github.com/hinok/wavy-canvas/tree/optimize-perf

,下图显示了动画

Sample animation produced by wavy-canvas

我上周末一直试图提高波浪帆布的性能。我将CPU使用率从50%降低到25%左右,所以这很好,但主要问题仍然存在 - 笔记本电脑中的粉丝真的非常响亮。

整个代码可以在Github上找到,所以如果有经验丰富的人可以看一下并向我展示可以改进的方向,我将不胜感激。

关键事实

  • 动画流畅(使用requestAnimationFrame)
  • 即使我在开发工具中设置限制CPU速度的5倍,我也达到了60 fps
  • CPU使用率约为15%-25%,但带有demo的网页会占用大量GPU内存!

Task manager from Chrome which shows GPU memory usage

我很确定 577 MB 对于那种简单的效果太过分了。

我做了一些不改变性能的实验,其中之一是:

使用

context.globalAlpha

而不是

context.fillStyle = ...
context.strokeStyle = ...

0 个答案:

没有答案