我在屏幕上画了一些线条和箭头,有时一次在屏幕上超过一百个,出于某种原因,IE10 在这里的表现优于 Chrome。如果我不画箭头,速度是相当相似的。所以,我推断这与 IE10 渲染线条的方式与 Chrome 渲染线条的方式有关。
有谁知道为什么会这样或任何可能加速 Chrome 的画布提示?
以下是注释掉的部分,它使 Chrome 速度更快,但似乎根本不会真正影响 IE10:
var risePercent2 = runPercent;
var runPercent2 = -risePercent;
var newX = targetX - (runPercent * (targetSize + arrowLength));
var newY = targetY - (risePercent * (targetSize + arrowLength));
context.moveTo(
newX + (runPercent2 * arrowWidth),
newY + (risePercent2 * arrowWidth)
);
context.lineTo(
targetX - (runPercent * (targetSize + (arrowWidth / 2))),
targetY - (risePercent * (targetSize + (arrowWidth / 2)))
);
context.lineTo(
newX - (runPercent2 * arrowWidth),
newY - (risePercent2 * arrowWidth)
);
context.strokeStyle = color;
context.stroke();