Javascript的ctx.arc方法是否计算相对于像素大小和半径的顶点?

时间:2014-08-12 13:41:52

标签: javascript html5 canvas drawing rendering

在Javascript的Canvas中,您可以使用ctx.arc方法轻松绘制圆圈,我想知道,弧函数是否计算绘制圆圈以获得最佳性能和图形所需的顶点数量?

在某些情况下(使用Chrome),您可以看到它是正多边形,而不是"圆"。

每个顶点之间的弧度公式为:

th = arccos(2 * (1 - e / r)^2 - 1)

其中e是像素大小

this问题中所述。

所以,最后,我应该使用现有功能还是使用公式来获得最佳性能和图形?

1 个答案:

答案 0 :(得分:-1)

最佳图形外观

浏览器会自动进行抗锯齿处理,而您手动计算的版本则不会 - 所以您的圈子会在视觉上看起来更多" jaggy"。

效果

我怀疑浏览器已优化了context.arc,但您始终可以运行性能测试:

http://jsperf.com/