performance - Canvas arc() 与 drawImage()

标签 performance html5-canvas

这可能看起来无害,但是当以每秒 30 帧的速度执行 1000 多次时,它确实加起来了。我画了 3 种大小的圆圈,每个圆圈都有自己的填充颜色 (RGBA)。我将它们绘制为图像一次并使用 drawImage() 是否更快?与数据 URLs,或做 arc()对于他们每个人?

额外的信息:

  • 对所有圆圈使用单个 Canvas
  • 缓存上下文和 Canvas
  • 目前对弧的完整调用看起来像

    this.scene.context.arc(newLocation, this.y+=this.speed/80, this.distance/2, 0, Math.PI*2, false);
  • 最佳答案

    enter image description here

    根据 my tests , drawImage()在大多数情况下会比使用 arc() 快得多.
    drawImage()函数可以采用 <img><canvas> element 作为其参数,在 Firefox 中,使用 <img>标签更快,尽管其他浏览器显示相反。

    归结为:即使是简单的形状,使用 drawImage()

    关于performance - Canvas arc() 与 drawImage(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12254415/

    相关文章:

    css - 我应该如何使用 Font Awesome 图标来为我的网站提供最高性能?

    javascript - 缓存 this 引用

    javascript - HTML 5 Canvas 到视频流不起作用

    css - html5 Canvas ,使用html元素和css

    javascript - 通过使用剑道如何将网格数据导出到以下任何一个文件(csv,excel,Pdf)

    javascript - 如何使用 HTML5 canvas 标签显示视频

    sql - 分页结果集中的选择子查询和左外连接哪个更快

    java - JEdi​​torPane setText 2MB HTML ---> 糟糕的性能!!! (65 秒)

    Javascript Canvas 碰撞检测问题

    objective-c - Apple 的 Objective-C 运行时如何在不降低性能的情况下进行多线程引用计数?