【问题标题】:Should I cull elements before rendering to HTML5 canvas or let the canvas cull我应该在渲染到 HTML5 画布之前剔除元素还是让画布剔除
【发布时间】:2013-06-04 04:55:42
【问题描述】:

我应该在调用画布绘制方法之前剔除元素还是让画布处理剔除。我应该实现如下逻辑:

if(circle.x+circle.radius>=0 || circle.x-circle.radius<canvas.width || circle.y+circle.radius>=0 || circle.y-circle.radius<canvas.height)
  context.arc(circle.x,circle.y,circle.radius,0,2.Math.PI,false);

我应该只调用 context.arc 并让画布弄清楚要绘制什么吗?

我希望这是有道理的?我将编写一些代码来测试这一点,但任何输入将不胜感激......谢谢。

【问题讨论】:

    标签: javascript html canvas


    【解决方案1】:

    “画布”(即浏览器内部)无论如何都会检查这些值,并在值超出边界时执行剪切(或仅使用系统的低级位图剪切能力)。

    因此,首先在 JS 中进行边界检查是没有意义的,但也因为内部检查比在 JS 中进行更有效。

    Canvas 绘图被设计为非常安全,不仅执行剪切,还钳位颜色值等。

    【讨论】:

      猜你喜欢
      • 2011-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-04
      • 1970-01-01
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多