Khung phán định ngắn bị ping ăn mất Timing window too short for latency + reaction
ID nguyên nhân sy-short-window · 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), Hạ tầng server (Đội hạ tầng)
Nếu thời gian phải phản ứng ngắn như né tránh, parry, đỡ đòn, ping sẽ ăn mất khoảng thời gian đó và tạo ra những đòn không thể né.
Vì sao Khung phán định ngắn, như cảnh báo đòn đánh của boss 0,5 giây, phán định parry 0,2 giây → Dẫn đến Thấy cảnh báo muộn (độ trễ chiều xuống + nội suy), input của bạn cũng tới muộn (độ trễ chiều lên + chờ tick) → Trên màn hình Rõ ràng đã né mà vẫn trúng, parry bị nuốt
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), Hạ tầng server (Đội hạ tầng)
Việc cần làm (Đội phát triển game)
Server: đặt lịch cảnh báo đòn đánh theo giờ server và gửi trước, nới khung phán định thêm bằng ping (bù trễ). Client: phát cảnh báo nhận được đúng theo giờ server đã hẹn.
Việc cần làm (Đội hạ tầng)
Đặt server gần khu vực có nhiều người chơi (server khu vực) để giảm chính ping.
Con số tham khảo
Ping 150 ms, nội suy 100 ms thì mất khoảng 0,18 giây để cảnh báo hiện trên màn hình của bạn, và khoảng 0,1 giây để input của bạn tới server. Cộng thêm thời gian phản ứng của con người 0,25 giây thì gần như không thể né cảnh báo 0,5 giây.
Trên đồ thị
Chỉ một phần cao · Tỷ lệ né, parry thất bại (theo khoảng ping)
Chỗ cần xem
Ghi vào log server thời điểm bắt đầu và kết thúc khung phán định, thời điểm input của người chơi tới server, RTT của người chơi đó, rồi chia tỷ lệ thất bại theo khoảng ping (ví dụ mỗi 50 ms)
Đúng nếu
khoảng ping càng cao thì tỷ lệ thất bại càng cao rõ rệt, và input thất bại tới ngay sau khi khung phán định kết thúc (trong phạm vi RTT cộng thời gian nội suy)
Loại trừ nếu
tỷ lệ thất bại tương tự nhau bất kể khoảng ping → vấn đề độ khó của pattern. Input tới trong khung phán định mà vẫn bị tính là thất bại → xem code phán định hoặc bước kiểm tra phía server