한국어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

Đối tượng bị giữ lại do ước tính đồng hồ sai Clock estimate error holds or discards entities

ID nguyên nhân pt-clock-hold · Phụ trách chính Phát triển client (Đội phát triển game)

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

Nếu giờ server mà client ước tính bị sai, client sẽ giữ lại thông tin đối tượng vừa tới vì cho là “vẫn còn ở tương lai”, hoặc bỏ đi vì cho là “quá cũ”.

Vì sao Giờ server mà một client ước tính bị lệch nhiều (đo trong lúc loading, vừa thoát chế độ tiết kiệm điện) → Dẫn đến Thời điểm mốc của nội suy và thời điểm trong thông tin đối tượng không khớp → Trên màn hình Đối tượng xuất hiện muộn hoặc hiện ở trạng thái đứng yên

Triệu chứng
Không hiển thị·đối tượng ma, Giật khựng
Yếu tố
Độ trễ
Ai gặp phải
Chỉ một client trên cùng PC
Khi nào
Sau khi để yên một lúc, Ngay sau đăng nhập hoặc bảo trì
Phụ trách
Phụ trách chính Phát triển client (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Đồng bộ thời gian lại định kỳ, nếu lệch nhiều thì đặt lại ngay, không dùng giá trị đo trong lúc loading hoặc ngay sau khi thoát chế độ tiết kiệm điện.
Trên đồ thị
Chỉ một phần cao · Sai số ước tính giờ server theo client
Chỗ cần xem
Ghi ở client giờ server ước tính, RTT, thời điểm đồng bộ thời gian lại, số lần giữ lại hoặc bỏ thông tin đối tượng. Tái hiện ngay sau loading hoặc ngay sau khi thoát chế độ tiết kiệm điện
Đúng nếu
chỉ client gặp sự cố có sai số ước tính vượt ngưỡng đặt lại (Unity là hardResetThresholdSec, mặc định 0,2 giây), có bản ghi giữ lại thông tin đối tượng vì cho là ở tương lai hoặc bỏ đi vì cho là quá khứ, và đồng bộ thời gian lại thì bình thường ngay
Loại trừ nếu
sai số ước tính nhỏ mà vẫn xuất hiện muộn → xem ngân sách gửi và mức ưu tiên theo kết nối hoặc nguyên nhân phía loading
Cách kiểm tra
Cần log và chỉ số của server, client game

Nguồn

  1. NetworkTimeSystem class (Netcode for GameObjects 2.5) Unity
    Chênh lệch thời gian vượt hardResetThresholdSec (mặc định 0,2 giây) thì ép khớp ngay, bình thường thì dùng adjustmentRatio để chỉnh nhanh hoặc chậm từng chút
  2. NetworkTime and ticks (Netcode for GameObjects 2.5) Unity
    LocalTime đi trước server, ServerTime đi sau. Message tới muộn có thể có thời gian chờ âm

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