背景颜色会影响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画布