한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Анатомия игровых лагов › Проблемы только у части игроков

Сбой порядка регистрации в зоне видимости Interest-management race on enter/leave

ID причины pt-aoi-race · Основной ответственный Команда разработки · Разработка сервера

Открыть карточку в основной версии с иллюстрациями и экспериментами →

Если момент регистрации персонажа в сетке видимости совпадает с моментом, когда NPC переходит в другую ячейку, уведомление о появлении этого NPC может потеряться.

Почему Обработка входа, смены канала или телепорта совпадает по времени с перемещением NPC → Следствие Этот NPC выпадает из расчёта «объектов, которые стали видны» → На экране Не видно только нескольких определённых NPC, или остаётся NPC, который уже ушёл

Симптомы
Невидимки / фантомы
Факторы
Потери
У кого
Один из клиентов на одном ПК, Только у меня
Когда
В движении и при смене локации, Изредка, случайно
Ответственные
Основной ответственный Команда разработки · Разработка сервера
Команда разработки: задачи
Обновлять зону видимости в одном потоке и в одном порядке, периодически заново сверять весь «список видимых».
На графике
Случайные всплески · число расхождений между списком видимых на сервере и списком объектов на клиенте
Где смотреть
Писать на сервере с номером тика регистрацию в сетке видимости, переходы объектов между ячейками и отправку уведомлений о появлении и исчезновении, периодически сравнивать «список видимых» на сервере со списком на клиенте
Подтверждает
Пропавший NPC сменил ячейку в том же тике, когда обрабатывался вход или телепорт персонажа, и записи об отправке уведомления о появлении этого NPC нет
Опровергает
Если уведомление о появлении отправлено, но клиент его не получил или отбросил, проблема в доставке (потеря данных о появлении из-за наплыва сразу после входа, отбрасывание уведомлений о появлении во время загрузки). Если всегда пропадают одни и те же NPC, причина в фазах или разных настройках отображения
Чем проверить
Нужны логи и метрики игрового сервера или клиента

Источники

  1. Replication Graph in Unreal Engine Epic Games
    В MMORPG и подобных играх мир делится сеткой, у каждой ячейки свой список акторов, и данные отправляются по ячейке, где находится клиент
  2. Actor Relevancy in Unreal Engine Epic Games
    Релевантность определяется для каждого соединения, и актор, утративший релевантность, удаляется на клиенте

Смотрите также

Тот же слой: Проблемы только у части игроков

Причины с тем же симптомом (Невидимки / фантомы) на других слоях

Карточка в основной версии с иллюстрациями и экспериментами