Trong cấu trúc mọi người cùng tính chung một lượt, chỉ cần input của một người đến muộn là tất cả phải chờ.
Vì sao Mỗi lượt phải gom đủ input của mọi người chơi mới tính được → Dẫn đến Input của một người tới muộn do jitter hoặc mất gói → Trên màn hình Mọi người cùng khựng một lúc, nặng thì hiện cửa sổ “Đang chờ người chơi”
Phụ trách chính Phát triển server (Đội phát triển game) · Phối hợp Phát triển client (Đội phát triển game)
Việc cần làm (Đội phát triển game)
Server: tự động điều chỉnh độ trễ input theo ping, tạm tách riêng người bị chậm để những người còn lại tiếp tục mà không phải chờ. Client: áp dụng độ trễ input đã định; nếu là P2P không có server trung chuyển thì client host đảm nhận cả việc điều chỉnh độ trễ input và xử lý người bị chậm.
Con số tham khảo
Nếu đặt độ trễ input ngắn hơn “thời gian input tới đối phương + jitter”, hiện tượng đứng hình sẽ xảy ra thường xuyên hơn. Thời gian tới là khoảng một nửa ping nếu hai bên gửi trực tiếp cho nhau, và khoảng một nửa tổng ping của hai người nếu đi qua server trung chuyển.
Trên đồ thị
Thỉnh thoảng vọt lên bất chợt · Thời gian chờ lượt, độ trễ input tới theo người chơi
Chỗ cần xem
Ghi cho mỗi lượt thời điểm input của từng người chơi tới và thời gian lượt bị dừng để chờ, rồi xem ở các lượt bị dừng đang chờ input của ai. Nếu có server trung chuyển thì cũng xem được qua khoảng cách giữa các gói input của từng người chơi trong bản bắt gói phía server
Đúng nếu
ở mỗi lượt bị dừng, input của cùng một người tới muộn hơn độ trễ input, và vào lúc đó jitter hoặc mất gói của người đó vọt lên
Loại trừ nếu
input đều tới đúng lúc mà vẫn dừng → vấn đề thời gian tính toán của PC chậm nhất hoặc xử lý trên server. Không dừng mà chỉ kết quả trên hai màn hình khác nhau → kết quả tính toán bị lệch (desync), xem tính toán đường đi không khớp khi đồng bộ lệnh
Cách kiểm tra
Cần log và chỉ số của server, client game
Nguồn
Deterministic LockstepGaffer On Games Phải có đủ input của khung hình n mới tính được, nên input tới muộn thì phải chờ. Bộ đệm trễ phát lại dùng để hấp thụ jitter mà nhỏ thì sẽ bị khựng