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

Javascript的ctx.arc方法是否计算相对于像素大小和半径的顶点?,javascript,html,canvas,drawing,rendering,Javascript,Html,Canvas,Drawing,Rendering,在Javascript的画布中,您可以使用ctx.arc方法轻松地绘制一个圆,我想知道,arc函数是否计算绘制一个圆所需的顶点数,以获得最佳性能和图形 在某些情况下,使用Chrome可以看到它是正多边形而不是圆 每个顶点之间的弧度公式为: th = arccos(2 * (1 - e / r)^2 - 1) 其中e是像素大小 如前所述 因此,最后,我应该使用现有的函数还是使用最佳性能和图形的公式制作自己的函数?最佳图形外观: 浏览器会自动消除锯齿,而手动计算的版本则不会,因此您的圆圈在视觉上看

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

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

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

th = arccos(2 * (1 - e / r)^2 - 1)
其中e是像素大小

如前所述

因此,最后,我应该使用现有的函数还是使用最佳性能和图形的公式制作自己的函数?

最佳图形外观:

浏览器会自动消除锯齿,而手动计算的版本则不会,因此您的圆圈在视觉上看起来会更加锯齿状

性能:

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


我认为,对于您来说,最好使用ctx.arc,而不是使用自己编写的函数来渲染arc。但是,如果要渲染正多边形,可以编写自己的函数。当然,为了获得最佳性能,您希望使用本机函数。