Продолжаем тему синка. В последнем патче 1.32.6 пофиксили десинхи при высоких рейтах таймера, однако возникает следующий вопрос.
Как иметь низкий синк рейт по сети, при этом высокий период локально?
Есть ли способ сделать это не имея отдельно невидимого юнита с 1/20 сек и локальный эффект с 1/120+ сек частотой обновления и интерполяцией?
Вот здесь пример о том, что я имею ввиду
Или же можно смело иметь высокие периоды и вц3 сам будет копить все изменения в буфер и делать синк по своему внутреннему периоду?

ScorpioT1000, десинк происходит когда разница в стейтах на разных машинах дошла до того, что одно из проверяемых событий вернуло разный результат на разных машинах. Никто не пересылает весь стейт каждый степ и тем более не сверяет его полностью. Иначе не работали бы такие трюки, например, как создание юнитов с разным id но полностью одинаковыми данными и десинк возникал бы не при обращении к различающимся данным, а в момент возникновения этого различия.

Еще, скорее всего, пересылают хеш стейта, для проверки синхронизации, это намного дешевле пересылки самого стейта.
`
ОЖИДАНИЕ РЕКЛАМЫ...
24
В варкрафте параллельный синхронный локстэп - по сети передается необходимый для синхронизации минимум информации вроде пользовательского ввода, а стейт объектов каждый степ не передается.
38
prog, что-то я тебя не понял, как тогда в твоей логике десинки происходят?
24
ScorpioT1000, десинк происходит когда разница в стейтах на разных машинах дошла до того, что одно из проверяемых событий вернуло разный результат на разных машинах. Никто не пересылает весь стейт каждый степ и тем более не сверяет его полностью. Иначе не работали бы такие трюки, например, как создание юнитов с разным id но полностью одинаковыми данными и десинк возникал бы не при обращении к различающимся данным, а в момент возникновения этого различия.

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