Мой сервер js node работает медленнее, когда нет ввода клиентаJavascript

Форум по Javascript
Ответить
Anonymous
 Мой сервер js node работает медленнее, когда нет ввода клиента

Сообщение Anonymous »

Я работал над игрой, используя JavaScript Canvas и Node JS в качестве личного проекта, и заметил некоторое нечетное поведение сервера, поэтому я сделал минимальный сервер и клиента для его проверки, и я заметил что -то очень странное. Например, если я установил скорость тика сервера на 100 клещей в секунду (это также происходит с другими таковыми показателями), а затем запускаю сервер с помощью основного цикла: < /p>
let tickCounter = 0;
let lastPrint = Date.now();

function gameLoop() {
tickCounter++;
const now = Date.now();
if (now - lastPrint >= 1000) {
console.log(Ticks per second: ${tickCounter});
lastPrint = now; tickCounter = 0;
}
setTimeout(gameLoop, TICK_INTERVAL)
}
gameLoop();
< /code>
Сервер выводит 65 клещей в секунду (что должно быть 100). Однако, когда я запускаю свой клиент со следующим кодом < /p>
var mouse = { X: canvas.width / 2, Y: canvas.height / 2, }

window.addEventListener('mousemove', e => {
mouse.X = e.clientX;
mouse.Y = e.clientY;

console.log(mouse.X, mouse.Y)

socket.emit("rotate", { "angle": Math.atan2(mouse.X - canvas.width / 2, mouse.Y - canvas.height / 2) + Math.PI })
});
< /code>
, а затем переместите мою мышь, необъяснимо скорость клеща достигается до 100 (каким она должна быть) на сервере. Это изменение скорости клещей вызывает много проблем с моим фактическим проектом. Просто чтобы уточнить, я использую Windows, а также экспрессию JS для создания сервера. Единственное, что работает, - это просто постоянно отправлять бесполезные данные от клиента на сервер, но это не является устойчивым решением и приведет к ненужному напряжению на сервере позже в проекте.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ient-input
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»