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

标签 javascript html canvas drawing rendering

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

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

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

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

其中 e 是像素大小

this 中所述问题。

那么,最后,我应该使用现有的函数还是使用公式创建自己的函数以获得最佳性能和图形?

最佳答案

最佳图形外观:

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

性能:

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

http://jsperf.com/

关于javascript - Javascript 的 ctx.arc 方法是否计算相对于像素大小和半径的顶点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25265865/

相关文章:

javascript - 确定 HTML 元素是否覆盖了 Canvas 的一部分

javascript - 如何修复对象的旋转以跟随客户端的鼠标?

javascript - 如何更改登录测试场景以使其正常运行

javascript - 添加和删​​除类不同的元素

javascript - 检查移动网站的小分辨率

javascript - 选择的 ID 丢失

javascript - 为什么要使用 ?variable=value 链接外部 javascript

javascript - CSS 网格内的 Canvas 大小

javascript - 在 Javascript 中验证响应来 self 的服务器的最佳方法?

javascript - jQuery 延迟对象集中式全局错误处理程序