我有一个画布可以创建8张图片(彩色的Google地图标记):
这段代码是一个构成问题的代码:
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([])
。