한국어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)
确认依据
看不到的模型,打开文件时以共享冲突、加锁失败告终,同一时刻另一个客户端正在写这个文件。只开一个或把安装、缓存目录分开就消失
排除依据
只开一个客户端也看不到同一个模型,是文件损坏或“客户端版本/数据不一致”。文件正常打开了却画不出来,看“内存/显存不足导致流式加载失败”
确认手段
需在玩家侧环境确认

出处

  1. Creating and Opening Files Microsoft
    不带共享模式打开的文件,其他进程无法打开,会报 ERROR_SHARING_VIOLATION
  2. Process Monitor Microsoft
    实时记录文件系统、注册表、进程活动,可按路径等任意字段过滤

相关原因

同一层:只有部分人遇到的问题

其他层中同样导致“隐身/幽灵实体”的原因

查看含图示和实验的原卡片