Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
背景颜色会影响HTML5画布中的帧速率吗?_Html_Performance_Animation_Canvas - Fatal编程技术网

背景颜色会影响HTML5画布中的帧速率吗?

背景颜色会影响HTML5画布中的帧速率吗?,html,performance,animation,canvas,Html,Performance,Animation,Canvas,听起来很奇怪(至少对我来说),但如果我在动画的每一帧之前将画布全部涂成白色(使用fillRect调用),则后续动画的帧速率要高得多。即使指定了较新的alpha:flag,也会出现这种情况 奇怪的是,如果我只覆盖了一些白色的画布,那么帧速率就会很差。大概通过覆盖整个画布,正在进行一些优化。这是正确的吗?我怀疑你的假设是正确的。 GPU正在使用像素颜色数组绘制画布 如果所有这些颜色都相同(例如,白色),GPU可以简单地用所有255的r、g、b、a值填充该数组。(==快!) 如果某些颜色不同(例如,白

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


奇怪的是,如果我只覆盖了一些白色的画布,那么帧速率就会很差。大概通过覆盖整个画布,正在进行一些优化。这是正确的吗?

我怀疑你的假设是正确的。

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

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


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

Oops-no-HTML5画布