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

Buku Putih Lag Game › L1 Proses game di klien

Buffer interpolasi tidak ada atau terlalu pendek Missing/short interpolation buffer

ID penyebab cg-no-buffer · Penanggung jawab utama Pengembangan klien (Tim Pengembang Game) · Turut terlibat Pengembangan server (Tim Pengembang Game)

Buka kartu interaktif dengan gambar dan simulasi →

Jika paket server langsung digambar begitu diterima, jitter (variasi selang waktu kedatangan paket) langsung terlihat di layar.

Mengapa Posisi yang diterima langsung digambar, atau buffer lebih pendek dari jitter → Akibatnya Berhenti selama paket terlambat, lalu melompat saat paket datang bertumpuk → Di layar Karakter lain bergerak tersendat-sendat

Gejala
Patah-patah
Faktor
Jitter
Siapa yang mengalami
Hanya saya
Kapan
Selalu
Penanggung jawab
Penanggung jawab utama Pengembangan klien (Tim Pengembang Game) · Turut terlibat Pengembangan server (Tim Pengembang Game)
Tugas Tim Pengembang Game
Klien: siapkan buffer interpolasi, sesuaikan panjang buffer secara otomatis menurut kondisi koneksi. Server: terapkan lag compensation (hit registration dengan memutar mundur waktu) agar tembakan ke posisi lawan di masa lalu (sepanjang buffer) tetap dinilai tepat.
Kisaran angka
Biasanya buffer diatur sekitar 2 kali interval pengiriman paket dari server (100 ms jika menerima 20 kali per detik).
Di grafik
Selalu tinggi sejak awal · Interval kedatangan paket, berapa kali buffer interpolasi kosong
Yang diperiksa
Di klien, catat distribusi interval kedatangan paket server dan jumlah frame yang berhenti atau beralih ke ekstrapolasi karena tidak ada snapshot berikutnya untuk diinterpolasi
Cocok jika
Variasi interval kedatangan sering melebihi panjang buffer interpolasi, dan setiap kali itu buffer kosong sehingga karakter lain tersendat. Berkurang jika buffer diperpanjang
Tidak cocok jika
Buffer sudah cukup, tetapi tetap tersendat: periksa apakah interval kirim server sendiri tidak teratur (tick terlambat)
Sarana pemeriksaan
Log dan metrik server atau klien game
Pelajari lebih lanjut
Buffer yang lebih panjang membuat gerakan lebih mulus, tetapi lawan juga terlihat dalam posisi masa lalu sepanjang itu. Karena itu, hit registration dibarengi lag compensation: server memutar mundur waktu ke “masa lalu yang dilihat pemain itu” untuk memeriksanya.

Sumber

  1. Interpolation and extrapolation (Netcode for Entities 6.5) Unity
    Interpolasi dengan buffer, yaitu sengaja menggambar lebih lambat untuk menunggu paket yang terlambat; makin besar buffer, makin akurat, tetapi latensinya juga makin besar
  2. Struct ClientTickRate (Netcode for Entities 6.5) Unity
    Nilai default buffer interpolasi InterpolationTimeNetTicks = 2 (setara 2 kali pengiriman server)
  3. Physics (Netcode for Entities 6.5) Unity
    Lag compensation: server mencari state collision yang dilihat klien pada tick itu untuk menentukan apakah serangan kena

Lihat juga

Lapisan yang sama: L1 Proses game di klien

Penyebab di lapisan lain dengan gejala yang sama (Patah-patah)

Lihat kartu interaktif dengan gambar dan simulasi