Увеличивает ли запятая увеличение производительности? - PullRequest
0 голосов
/ 19 октября 2018

У меня есть простой игровой цикл, который выглядит следующим образом:

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 голосов
/ 19 октября 2018

Я просто набираю, что у меня в голове: Сначала нам нужно понять, как работает компьютер.Немного по сути, внутри вас все, что вы видите из данных, занимает определенное место.Мы можем догадаться, что больше символов представляет больше битов, необходимых для их хранения и обработки.Даже больше, если мы пойдем на умножение, так же, как наш мозг, нам нужно увидеть все число, сохранить его в своей голове и сделать это.Сложнее для большего числа чисел в десятичной дроби.

Его настолько низкий уровень, что его трудно увидеть невооруженным глазом.

Может быть, уместно: я много играю в игру.Все игры имеют ограничение по максимальному количеству, которое они могут вычислить, не потому, что моя система не может справиться с этим.Но потому что эффективность.И что-то, что связано с архитектурой операционной системы os (32/64-битная версия). Так что, если вы работаете настолько эффективно, насколько это возможно, у вас будет время округлить его и, возможно, ограничить десятичные дроби.Но если вы имеете дело с десятичным числом меньше 10, я бы сказал, что это не так важно.Но да, он имеет выигрыш в производительности, чтобы иметь меньшее количество десятичных дробей

Сколько выигрыша в производительности: я бы сказал, не так много, если вы запустите этот процесс меньше, чем несколько тысяч в секунду.(Источник: личное мнение) И это если вам действительно нужно запускать его столько раз в секунду.Я вижу, как что-то происходит на серверах, и это, похоже, не так эффективно, как другие оптимизации, которые мы можем сделать.

Надеюсь, это поможет

0 голосов
/ 19 октября 2018

Нет, округление чисел с плавающей запятой снизит производительность, поскольку это дополнительная операция.

Десятичное представление только для нас, людей.Среда выполнения javascript и модуль с плавающей запятой работают с числами с плавающей запятой и не заботятся о том, сколько десятичных знаков есть в десятичном представлении чисел с плавающей запятой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...