四舍五入逗号会提高性能吗?

时间:2018-10-19 14:04:52

标签: javascript performance

我有一个简单的游戏循环,如下所示:

let dt = 0
let last = 0

const gameLoop = ms => {
  const t = ms / 1000

  dt = t - last
  last = t

  console.log(dt)

  requestAnimationFrame(gameLoop)
}

requestAnimationFrame(gameLoop)

现在,我正在研究一种方法,可以使不同帧率之间的运动和动画保持一致。为此,我必须将增量时间dt与游戏中的对象相乘。

现在,当我将dt登录到控制台时,我得到一个相当长的数字:0.0166700000285

尽管我不需要如此精确的数字来增加物体的速度。所以我的问题是,如果我固定小数位数,是否会提高性能。例如0.01667

如果是,要多少钱?

谢谢:)

2 个答案:

答案 0 :(得分:1)

否,四舍五入浮点数会降低性能,因为这是一项附加操作。

十进制表示形式只适合我们人类。 javascript运行时和浮点单元对浮点数进行操作,而不管浮点数的十进制表示形式中有多少个小数。

答案 1 :(得分:-1)

我只是在脑子里打些什么: 首先,我们需要了解计算机的工作原理。一点基本知识,在您内部将所有从数据中看到的内容占用一定的空间。我们可以猜测,更多的字符代表存储和处理它们所需的更多位。 如果我们要进行乘法运算,就需要更多,就像我们的大脑一样,我们需要看到整个数字,将其存储在我们的脑袋中并进行处理。小数点后会有更多数字,更具挑战性。

它太低了,用肉眼很难看到。

可能相关: 我经常玩游戏。所有游戏都限制了它们可以计算的最大数量,这不是因为我的系统无法处理。但是因为效率。与运行它的os体系结构有关(32/64位的东西) 因此,如果您做得有效率,那么您将有时间进行舍入并可能限制小数位。 但是,如果您要处理的小数位数少于10个,我会说不是那么重要。 但是,是的,它的性能优势在于减少小数位数

多少性能收益: 如果您执行此过程的时间少于 几千/秒。 (来源:个人意见) 那就是如果您实际上必须每秒运行多次。 我看到服务器上会塞满东西,这似乎并没有我们可以做的其他优化影响那么小。

希望有帮助