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

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

Конфликт одновременного доступа к файлам кэша и ассетов Shared cache / asset file lock conflicts

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

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

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

Почему Два клиента одновременно пишут файлы кэша и патчей в одной папке установки → Следствие Не удаётся заблокировать файл или читается наполовину записанный файл, и загрузка срывается → На экране Табличка с именем видна, а модели персонажа нет, или NPC прозрачный

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

Источники

  1. Creating and Opening Files Microsoft
    Файл, открытый без режима общего доступа, другой процесс открыть не может, возникает ERROR_SHARING_VIOLATION
  2. Process Monitor Microsoft
    Записывает в реальном времени активность файловой системы, реестра и процессов, позволяет фильтровать по любому полю, включая путь

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

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

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

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