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

游戏卡顿白皮书 › 只有部分人遇到的问题

分线/副本/位面不同 Different channel / instance / phase

原因 ID pt-phase · 主责 研发团队·服务器开发 · 配合 研发团队·客户端开发

在含图示和实验的完整版中打开此卡片 →

两个角色在不同的分线或副本里,或者处在按任务进度显示不同 NPC 的不同“位面”时,看到的就是不同的世界。

起因 第二个角色被分到了别的分线,或任务阶段不同 → 结果 服务器不给这个角色发送该 NPC(正常) → 画面表现 只有一边没有 NPC。看起来像 bug,其实是按设计运行

症状
隐身/幽灵实体
因素
丢包
谁会遇到
双开时只有一个客户端, 只有我
何时出现
一直, 刚登录/维护结束后
负责方
主责 研发团队·服务器开发 · 配合 研发团队·客户端开发
研发团队要做的事
服务器:把分线、位面信息发给客户端,在 QA 检查清单中加入“确认两个角色的分线和任务阶段”。客户端:在界面上显示分线和位面。
监控图上
仅部分偏高 · 各客户端周围的实体数,分线/位面
查看位置
在游戏画面上对比两个角色的分线编号和相关任务的进度阶段,调成同一分线、同一阶段后再看。有服务器实体发送日志时,确认没有把该 NPC 发给这个角色的原因(分线、位面)
确认依据
两个角色的分线或任务阶段不同,调成相同后 NPC 就能看到
排除依据
分线、阶段都相同,却仍然只有一边没有,看“加载中到达的出现通知被丢弃”“刚进入时集中到达的出现信息丢失”“视野注册顺序错乱”
确认手段
需在玩家侧环境确认
深入了解
也要确认任务进度是按账号保存还是按角色保存。如果是同一账号的两个角色,一方的进度可能改变另一方的位面。

出处

  1. Actor Relevancy in Unreal Engine Epic Games
    服务器按连接只复制相关(relevant)的 Actor,不相关的 Actor 不发送
  2. Object visibility (Netcode for GameObjects 2.5) Unity
    用 CheckObjectVisibility 按客户端决定可见的实体,隐藏的实体不发送给该客户端

相关原因

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

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

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