我有一个画布可以创建8张图片(彩色的Google地图标记):
javascript - ctx.stroke()在Mac上最多需要8.7秒,但在任何其他浏览器中都不到1毫秒-LMLPHP
这段代码是一个构成问题的代码:

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

javascript - ctx.stroke()在Mac上最多需要8.7秒,但在任何其他浏览器中都不到1毫秒-LMLPHP

如何使其在MAC上与在PC上一样快地工作?

最佳答案

我发现了什么地方不对,不知道该不该报告?
事实是,Mac(甚至可能是其他)上的Firefox在ctx.setLineDash([0])上有问题,其他浏览器在零上没有问题,但是Firefox在第一次调用时就存在问题。

“正确”的方法是ctx.setLineDash([])

10-07 18:57
查看更多