背景颜色是否影响HTML5画布中的帧速率?

时间:2014-04-04 15:55:45

标签: html5 performance animation canvas

听起来很奇怪(至少对我来说)但是如果我在动画的每一帧(使用fillRect调用)之前将画布涂成全白色,则后续动画的帧速率要高得多。即使指定了较新的alpha:标志,也是如此。

奇怪(也)如果我只覆盖一些画布白色,我也会得到一个糟糕的帧率。据推测,通过覆盖整个画布,一些优化正在进行中。这是对的吗?

1 个答案:

答案 0 :(得分:1)

我怀疑你的推定是正确的。

GPU正在使用像素颜色数组绘制画布。

如果所有这些颜色都相同(例如,白色),GPU可以使用r,g,b简单地将该数组填充为全部255的值。(==快!)

如果某些颜色不同(例如,白色矩形但保留其他先前的图纸),则CPU和GPU必须协同工作以计算要保留的现有像素以及要更改的像素。 (==较慢)。