suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - canvas中Math.random()与性能优化

在 canvas 画布上随机生成多个封闭图形。封闭图形的位置、大小、旋转角度都是随机的。

我用了Math.random()的方法。比如旋转角度,我写的是 var rot = 360 * Math.random()

但 Math.random() 生成的随机数精度可能很大,像0.7402760791934122

综合考虑,应该把随机生成的有效数字很多的 坐标、数量、角度等变量作为参数传给图形绘制函数呢,

还是直接生成整形的变量如var rot = Math.round(360 * Math.random())性能更好呢?

大家讲道理大家讲道理2790 Tage vor629

Antworte allen(1)Ich werde antworten

  • ringa_lee

    ringa_lee2017-04-11 13:25:38

    避免浮点数的坐标点,用整数取而代之

    当你画一个没有整数坐标点的对象时会发生子像素渲染。

    浏览器为了达到抗锯齿的效果会做额外的运算。为了避免这种情况,请保证在你调用drawImage()函数时,用Math.floor()函数对所有的坐标点取整。

    https://developer.mozilla.org...

    Antwort
    0
  • StornierenAntwort