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

Buku Putih Lag Game › Desain sinkronisasi

Laju pengiriman snapshot rendah Low snapshot / update rate

ID penyebab sy-low-send-rate · Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Pengembangan klien (Tim Pengembang Game)

Buka kartu interaktif dengan gambar dan simulasi →

Jika server mengirim update posisi (snapshot) hanya beberapa kali per detik, buffer interpolasi harus dibuat lebih panjang sebanding, sehingga karakter lain terlihat di masa lalu yang lebih jauh.

Mengapa Untuk menghemat volume kirim, update posisi hanya dikirim 5–10 kali per detik → Akibatnya Agar gerakan tergambar mulus, buffer harus 2 kali interval paket (200–400 ms); jika lebih pendek, kehilangan satu paket saja sudah membuat gerakan terhenti → Di layar Perubahan arah lawan terlihat terlambat dan tidak cocok dengan keputusan server. Jika buffer pendek, gerakan patah-patah dan teleport saat terjadi packet loss

Gejala
Patah-patah, Teleport, Aksi hilang / rollback
Faktor
Latensi, Packet loss
Siapa yang mengalami
Seluruh server
Kapan
Selalu
Penanggung jawab
Penanggung jawab utama Pengembangan server (Tim Pengembang Game) · Turut terlibat Pengembangan klien (Tim Pengembang Game)
Tugas Tim Pengembang Game
Server: kirim lebih sering untuk target yang dekat atau sedang bertarung dan lebih jarang untuk target yang jauh, kirim hanya bagian yang berubah (kompresi delta) agar ukuran per kirim kecil lalu naikkan frekuensinya. Klien: sesuaikan panjang buffer interpolasi otomatis dengan interval paket.
Kisaran angka
Pada 10 kali per detik, interval paket 100 ms dan buffer 200 ms. Ditambah latensi satu arah 75 ms dari ping 150 ms, lawan terlihat sekitar 0,3 detik di masa lalu.
Di grafik
Selalu tinggi sejak awal · Interval kedatangan paket per klien, panjang buffer interpolasi
Yang diperiksa
Dari packet capture di sisi server, saring hanya aliran ke satu pemain lalu periksa jumlah paket per detik dan interval antarpaket dengan I/O Graphs di Wireshark. Jika ada log di sisi game, periksa juga interval update per objek dan sisa buffer interpolasi klien (waktu tersisa sampai snapshot berikutnya datang)
Cocok jika
Update posisi selalu jarang, 5–10 kali per detik (interval 100–200 ms), dan buffer interpolasi diatur lebih dari 200 ms atau sisa buffer sering mencapai 0
Tidak cocok jika
Update dikirim rapat tetapi hanya interval kedatangannya yang goyah: lebih mungkin jitter atau packet loss. Hanya objek jauh yang jarang diterima saat ramai: lebih mungkin budget pengiriman dan prioritas per koneksi
Sarana pemeriksaan
Tools infrastruktur (tanpa perlu kode game)

Sumber

  1. Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization (Yahn W. Bernier, GDC 2001) Valve
    Dengan update 10 kali per detik, interpolasi 200 ms tahan terhadap satu kali kehilangan. Default Half-Life 20 kali per detik dengan interpolasi 100 ms
  2. Snapshot Interpolation Gaffer On Games
    Pada 10 snapshot per detik, butuh latensi 350 ms agar tahan sampai dua kehilangan berturut-turut; pada 30 per detik cukup 150 ms
  3. State Synchronization Gaffer On Games
    Dengan akumulasi prioritas, objek penting dikirim lebih sering, dan sisanya dikirim bergiliran dalam batas bandwidth
  4. 8.8. The “I/O Graphs” Window Wireshark
    Menggambar jumlah paket dan byte yang cocok dengan filter tampilan sebagai grafik per interval waktu

Lihat juga

Lapisan yang sama: Desain sinkronisasi

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

Lihat kartu interaktif dengan gambar dan simulasi