Серверная часть Phaser + WebSocket работает очень медленно, нужна помощь в оптимизации - PullRequest
0 голосов
/ 04 октября 2019

Мы создаем сетевую игру с использованием Phaser и SocketIO для взаимодействия игроков в реальном времени и синхронизации внутриигровых объектов (таких как предметы и враги с синхронизированным динамическим движением).

Вот файл в нашем Github

Моя текущая идеология обновления клиентов заключается в том, чтобы периодически отправлять все необходимые данные на стороне сервера в пакете обновления (я держу его сейчас 60 раз в секунду, но даже 30/ sec ощущается вялым из-за несоответствия с обновлением экрана, которое я предполагаю) и из-за того, что клиенты анализируют этот пакет при каждой отправке. Вещи, которые должны быть синхронизированы, такие как позиция противника (и расчеты движения), позиции игрока и предметы, хранятся на сервере и отправляются в этом пакете. Я знаю только очень элементарную сеть, но эта система некоторое время работала нормально. Однако, поскольку мой код стал более сложным, сервер начал работать намного медленнее, даже если он размещается на веб-сайте хостинга приложений, таком как Glitch.

Может ли кто-нибудь помочь проанализировать это и определить, где будут происходить серьезные замедления? Или в качестве альтернативы предложить лучшую систему для настройки сервера? Любые советы приветствуются.

...