Понедельник, 25 Ноября 2024, 18:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Скорость передачи пакетов WebSocket.(ну или как убрать лаги)
last2424Дата: Четверг, 07 Января 2016, 01:14 | Сообщение # 1
30 мл. блоков
Сейчас нет на сайте
Есть вопросы, я надеюсь тут есть знающие люди. biggrin
Решил поюзать WebSocketэы на Node.JS(ими в принципе доволен, легко работать с ними).
Написал простейший платфомер со скроллингом, перемещением, гравитацией, прыжками и всем остальным.
Присобачил всё это дело к серверу, передача координат, айди плеера, который обнуляется при выходе(хотя я полностью его не доделал).
Поставили у друга на сервере, подключился, двигается то двигается, но блин тормоза серьёзные(конечно менее серьёзные чем у AJAX'а, но всё же меня это напрягает).
Хост хороший проблема не в нём это могу гарантировать сразу, ведь мы спокойно играем по локалке через интернет, практически без тормозов в разные игры.

Можно ли что-нибудь сделать с этими тормозами и как-нибудь их уменьшить до минимума для комфорта.

В качестве WebSocket модуля для Node.JS использую nodejs-websocket.


Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)
KwantДата: Четверг, 07 Января 2016, 01:44 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Для этого используют "Предсказания".
Это когда обсчитывают игровой мир в соответствии с окружением клиента, а когда приходят данные от сервера - синхронизируется всё.

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

Устранение эффекта запаздывания с помощью кубических сплайнов.
VinchensooДата: Четверг, 07 Января 2016, 07:21 | Сообщение # 3
Злобный социопат с комплексом Бога
Сейчас нет на сайте
С вебсокетами есть еще 1 фишка. Если браузер их не поддерживает или они запрещены в настройах, библиотека будет эмулировать работу websocket через long-polling http соединения. А это- медленно, на такой игре как раз будет заметно.

Начните с настроек браузера, а дальше делайте интерполяцию.

ЗЫ. Написанное выше актуально для socket.io, но у вас, похоже, какая-то другая библиотека.
Попробуйте сокет.ио. Это, де-факто, стандарт в отрасли.


last2424Дата: Четверг, 07 Января 2016, 14:59 | Сообщение # 4
30 мл. блоков
Сейчас нет на сайте
Kwant, Vinchensoo, большое спасибо за способы, попробую поработать с обоими ) smile

Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг