Если вы еще этого не сделали, я предлагаю вам прочитать эти две глубокие, но понятные статьи: https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking и http://fabiensanglard.net/quake3/network.php .
Они объясняют, почему рекомендуется использовать отправку пакетов с фиксированным интервалом. Короче говоря, это в основном важно для пакетов, отправляемых сервером.
Отправка пакета имеет фиксированную стоимость, а максимальный размер сетевого пакета составляет около 1,5 КБ. Так, если на вашем сервере, например, 16 игроков, каждый кадр при расчете движения для игрока, простой код может отправлять пакет обновления каждому игроку после каждого разрешения движения, поэтому 16 * 16 = 256 пакетов. Если у вас частота кадров 30, это 7680 пакетов.
Лучше всего создать буфер в каждом начале кадра, объединить в нем свои 16 рассчитанных позиций и отправить их 16 игрокам.
Теперь вы отправляете только 480 пакетов в секунду для тех же результатов.
В случае проигрывателя с сервера это означает, что вы должны отправить в одном пакете максимум данных, например; посмотрел позицию, действия назвали этот кадр и тд.
Что касается второй части вашего вопроса - я решил уменьшить ощущение задержки, посылая эту информацию на сервер в каждом кадре:
текущая текущая позиция игрока (используется сервером для проверки того, не слишком ли десинхронизированы позиции на стороне сервера и на стороне игрока).
Расчетная позиция игрока за 1 секунду: рассчитывается клиентом: если игрок не меняет направление мыши и оставляет клавиатуру в ее текущем состоянии в течение 1 секунды, где будет игрок? (нас не волнуют столкновения) Если игрок не двигается, то его предполагаемая позиция в 1 секунду является его текущей позицией.
Положение, на которое он смотрит.
Каждый раз, когда сервер получает эту информацию, он обновляет будущую позицию и просматриваемую позицию, и сущность игрока в конечном итоге движется к своей будущей позиции.
Игроки никогда точно не синхронизируются, но входной ответ является мгновенным (наиболее важным для меня), и я обнаружил, что прогнозируемые позиции достаточно точны для меня.