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

Ngân sách gửi và mức ưu tiên theo kết nối Per-connection bandwidth budget and priority

ID nguyên nhân pt-priority · 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)

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

Nếu server đặt giới hạn lượng gửi cho từng kết nối và gửi những thứ ở gần trước, bên có giới hạn thấp sẽ nhận NPC ở xa muộn hoặc không nhận được.

Vì sao Ở nơi đông người, server gửi theo thứ tự quan trọng trong giới hạn lượng gửi của từng kết nối → Dẫn đến Với kết nối có băng thông ước tính thấp (ví dụ bên ở cửa sổ chạy nền nên gửi xác nhận đã nhận muộn), các đối tượng xếp sau cứ bị hoãn mãi → Trên màn hình NPC ở xa chỉ hiển thị muộn hoặc không hiển thị ở một bên

Triệu chứng
Không hiển thị·đối tượng ma, Trễ thao tác
Yếu tố
Độ trễ
Ai gặp phải
Chỉ một client trên cùng PC, Một địa điểm hoặc kênh
Khi nào
Khi đông người
Phụ trách
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 dần mức ưu tiên của đối tượng bị hoãn theo thời gian (chống starvation), bảo đảm chu kỳ cập nhật tối thiểu. Client: gửi xác nhận đã nhận đúng lúc cả khi chạy nền để băng thông ước tính không bị hạ thấp.
Trên đồ thị
Tăng theo số người và tải · Số đối tượng bị hoãn theo kết nối, lượng gửi theo kết nối
Chỗ cần xem
Ghi trên server cho mỗi kết nối: số byte gửi mỗi tick, giới hạn gửi (băng thông ước tính), số đối tượng không gửi được phải hoãn, thời gian trôi qua kể từ lần gửi cuối của từng đối tượng. Với Unreal, Networking Insights cho xem kích thước gói theo kết nối và các đối tượng replicate chứa trong đó
Đúng nếu
NPC không hiển thị là đối tượng bị hoãn lâu trên kết nối đó, giới hạn của kết nối này thấp hơn các kết nối khác, và càng đông người thì số đối tượng bị hoãn càng tăng
Loại trừ nếu
không có đối tượng bị hoãn và NPC đó cũng đã được gửi đúng lúc → xem các bước sau khi gửi (bộ đệm nhận, loading, tùy chọn hiển thị). Mọi kết nối đều bám sát giới hạn → vấn đề thiết kế lượng gửi và tầm nhìn của toàn server
Cách kiểm tra
Cần log và chỉ số của server, client game

Nguồn

  1. Actor Priority in Unreal Engine Epic Games
    Khi băng thông bão hòa, chọn actor để replicate theo mức ưu tiên (khoảng cách, hướng nhìn, thời gian trôi qua từ lần replicate cuối). Không phải actor nào cũng được replicate mỗi lần
  2. State Synchronization Gaffer On Games
    Mức ưu tiên tích lũy: đối tượng không vừa gói lần này sẽ được đưa vào gói sau trước tiên, giới hạn băng thông được điều chỉnh theo thời gian thực
  3. Networking Insights in Unreal Engine Epic Games
    Hiển thị kích thước gói gửi và nhận theo từng kết nối, cùng các đối tượng và thuộc tính replicate chứa trong đó

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