2014-04-04 61 views
0

听起来很奇怪(至少对我来说),但如果我在动画的每一帧之前将画布着色为全白(使用fillRect调用),后续动画的帧速率要高得多。即使已经指定了更新的alpha:标志,也是如此。背景颜色是否会影响HTML5画布中的帧频?

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

+0

你的意思是java ...? – Leo

+0

糟糕 - 没有 - HTML5画布 – Richard

回答

1

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

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

如果所有这些颜色是相同的(例如,白色)的GPU可以简单地floodfill用R,G,B,所有255的值数组(==快!)

如果某些颜色是不同的(例如,一个白色的矩形,但保留其他先前的图纸),CPU和GPU必须一起工作来计算哪些现有像素要保留,哪些像素要改变。 (==较慢)。