Я работал над игрой, используя 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
Мой сервер js node работает медленнее, когда нет ввода клиента ⇐ Javascript
Форум по Javascript
-
Anonymous
1749269808
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 для создания сервера. Единственное, что работает, - это просто постоянно отправлять бесполезные данные от клиента на сервер, но это не является устойчивым решением и приведет к ненужному напряжению на сервере позже в проекте.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79656658/my-node-js-server-is-running-slower-when-there-is-no-client-input[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия