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

查看:143
本文介绍了javascript - canvas中Math.random()与性能优化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

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

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

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

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

解决方案

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

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

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

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

这篇关于javascript - canvas中Math.random()与性能优化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆