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

Sách trắng lag game › Sự cố chỉ một số người gặp

Bỏ thông báo xuất hiện tới trong lúc loading Spawn messages dropped before the client is ready

ID nguyên nhân pt-loading-drop · Phụ trách chính Phát triển client (Đội phát triển game) · Phối hợp Phát triển server (Đội phát triển game)

Mở thẻ gốc có hình minh họa và thí nghiệm →

Ngay khi nhân vật vào zone, server gửi thông báo xuất hiện của các NPC xung quanh, nhưng client vẫn đang tải bản đồ nên bỏ thông báo đó đi.

Vì sao Server gửi thông báo xuất hiện của các đối tượng xung quanh ngay sau khi xử lý vào zone → Dẫn đến Client đang loading nên chưa có message handler, thông báo bị bỏ → Trên màn hình Server coi như đã gửi nên không gửi lại. NPC không hiển thị cho đến khi ra khỏi tầm nhìn rồi quay lại

Triệu chứng
Không hiển thị·đối tượng ma
Yếu tố
Mất gói
Ai gặp phải
Chỉ một client trên cùng PC, Chỉ mình tôi
Khi nào
Ngay sau đăng nhập hoặc bảo trì, Khi di chuyển hoặc chuyển bản đồ
Phụ trách
Phụ trách chính Phát triển client (Đội phát triển game) · Phối hợp Phát triển server (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Client: loading xong thì gửi “sẵn sàng”, hoặc giữ lại các gói nhận được trong lúc loading rồi xử lý sau. Server: chỉ gửi thông tin xung quanh sau khi nhận “sẵn sàng”.
Con số tham khảo
Nếu hai client cùng loading trên một PC, hoặc bên đang loading là cửa sổ chạy nền, CPU và ổ đĩa bị chia sẻ, việc xử lý cũng bị hạn chế, nên thời gian loading bên đó có thể dài gấp nhiều lần. Server xử lý vào zone nhanh hơn cũng làm lộ ra cùng lỗi này.
Trên đồ thị
Chỉ một phần cao · Thời gian loading theo client, số message bị bỏ trong lúc loading
Chỗ cần xem
So sánh số lượng, loại message client nhận rồi bỏ trong lúc loading và thời điểm loading xong với thời điểm server gửi thông báo xuất hiện. Dễ tái hiện khi cho hai client cùng loading trên một PC, hoặc để bên đang loading ở cửa sổ chạy nền
Đúng nếu
server đã gửi thông báo xuất hiện của NPC không hiển thị, thời điểm tới là trước khi loading xong, và vào lúc đó số message bị bỏ tăng lên. Chỉ xảy ra ở client loading lâu hơn
Loại trừ nếu
thông báo xuất hiện tới sau khi loading xong mà vẫn không thấy → xem mất snapshot gốc hoặc nhầm lẫn do dùng lại ID đối tượng. Server hoàn toàn không gửi thông báo về NPC đó → xem thứ tự đăng ký tầm nhìn bị rối hoặc khác kênh, instance, phasing
Cách kiểm tra
Cần log và chỉ số của server, client game

Nguồn

  1. NetworkConfig class (Netcode for GameObjects 2.5) Unity
    SpawnTimeout: message của đối tượng chưa được tạo sẽ được giữ lại, nếu không được tạo trong thời hạn thì bỏ
  2. Actor Relevancy in Unreal Engine Epic Games
    Actor không còn liên quan bị xóa ở client, khi liên quan trở lại thì được replicate mới

Nguyên nhân nên xem cùng

Cùng tầng: Sự cố chỉ một số người gặp

Nguyên nhân ở tầng khác gây cùng triệu chứng (Không hiển thị·đối tượng ma)

Xem thẻ gốc có hình minh họa và thí nghiệm