我有一个 Canvas ,创建 8 个图像(彩色谷歌地图标记):
此代码是造成问题的代码:
ctx.beginPath()
ctx.moveTo( lw, h/3 ) // Left
ctx.lineTo( w/2, lw ) // Top
ctx.lineTo( w - lw, h/3 ) // Right
ctx.lineTo( w/2, h - lw ) // Bottom
ctx.closePath()
ctx.fill()
// conditional dashed line border (see in codepen L31 - L41)
ctx.fill()
ctx.stroke() // This call takes up to 8.7sec (on MAC safari only)
我试图将代码缩小到问题范围,但只是为了确保我制作了 codepen .
证明,它在 MAC 上不起作用
如何使其在 MAC 上的运行速度与在 PC 上的运行速度一样快?
最佳答案
我发现了问题所在,不知道是否应该报告...
问题是,Mac 上的 Firefox(甚至可能在其他浏览器上)存在 ctx.setLineDash([0])
问题,其他浏览器没有零问题,但 Firefox 却存在问题第一次中风调用。
“正确”的方法是ctx.setLineDash([])
。
关于javascript - ctx.lines() 在 Mac 上最多需要 8.7 秒,但在任何其他浏览器中不到 1 毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35361083/