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

Sách trắng lag game › L1 Tiến trình game phía client

Ngoại suy quá mức (dead reckoning) Over-extrapolation / dead reckoning

ID nguyên nhân cg-extrap · 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 →

Trong lúc không có gói tin, client cho đối tượng tiếp tục di chuyển theo vận tốc cuối cùng, rồi khi biết là sai thì kéo lại.

Vì sao Không nhận được gói tin nên tiếp tục cho di chuyển theo hướng và vận tốc cuối cùng → Dẫn đến Trên thực tế đối thủ đã dừng lại hoặc đổi hướng → Trên màn hình Nhân vật đối thủ đi một đoạn dài rồi vụt về vị trí thật, hoặc đi xuyên tường. Nếu khoảng cách gói tin đến lúc dài lúc ngắn, nhân vật cứ vượt lên trước rồi bị kéo lại, trông như đang rung

Triệu chứng
Dịch chuyển tức thời, Giật khựng
Yếu tố
Mất gói, Jitter
Ai gặp phải
Chỉ mình tôi
Khi nào
Thỉnh thoảng bất chợt
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)
Giới hạn thời gian ngoại suy (ví dụ 200–250 ms), khi sai thì đưa về vị trí đúng một cách mượt mà.
Con số tham khảo
Với tốc độ 6 m/s, chỉ cần sai 300 ms là lệch 1,8 m.
Trên đồ thị
Thỉnh thoảng vọt lên bất chợt · Thời gian ngoại suy, khoảng cách hiệu chỉnh vị trí
Chỗ cần xem
Ghi lại thời gian nhân vật khác được vẽ bằng ngoại suy và khoảng cách sửa vị trí sau khi gói mới tới
Đúng nếu
ở mỗi đoạn mất gói, thời gian ngoại suy kéo dài không giới hạn, sau đó khoảng cách hiệu chỉnh lên tới vài m
Loại trừ nếu
ngoại suy đã được cắt ngắn mà vẫn dịch chuyển tức thời → bản thân mất gói và độ trễ đã lớn, xem phía đường truyền và tuyến đường
Cách kiểm tra
Cần log và chỉ số của server, client game

Nguồn

  1. Interpolation and extrapolation (Netcode for Entities 6.5) Unity
    Ngoại suy (snapshot kế tiếp không tới đúng lúc thì tiếp tục di chuyển theo cùng hướng và vận tốc) hay sai nên cần giới hạn (Unity mặc định 20 tick, khoảng 1/3 giây ở 60 Hz)
  2. Peeking into VALORANT's Netcode Riot Games
    Đoán để lấp dữ liệu tới muộn hoặc bị thiếu, nếu đoán sai thì lệch với server và nhân vật bị sửa vị trí kiểu nhảy cóc hoặc trượt đi

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

Cùng tầng: L1 Tiến trình game phía client

Nguyên nhân ở tầng khác gây cùng triệu chứng (Dịch chuyển tức thời)

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