Jika siapa bisa melihat siapa dihitung dengan membandingkan semua pemain satu sama lain, saat jumlah pemain naik 10 kali, perhitungannya naik 100 kali.
Mengapa Jarak dibandingkan antara semua karakter, atau walaupun sudah dibagi dengan grid, ratusan pemain berkumpul di dekat satu sel → Akibatnya 100 pemain berarti sekitar 10.000 perbandingan, 1.000 pemain sekitar 1 juta perbandingan → Di layar Di tempat ramai seperti world boss atau siege, waktu tick melonjak sehingga terjadi slow motion atau patah-patah
Penanggung jawab utama Pengembangan server (Tim Pengembang Game)
Tugas Tim Pengembang Game
Bagi dengan grid atau zona dan bandingkan hanya objek di sekitar, perbarui objek yang jauh lebih jarang, batasi jumlah pemain yang bisa dilihat satu pemain.
Kisaran angka
Jika perbandingan jarak dan pembaruan daftar terlihat/tidak terlihat dihitung 0,1 µs (sepersepuluh juta detik) per pasangan, 1.000 pemain (sekitar 1 juta pasangan) butuh 100 ms per tick. Itu dua kali budget server 20 tick (50 ms).
Di grafik
Naik mengikuti beban · Waktu tick server, jumlah pemain di satu tempat
Yang diperiksa
Tampilkan jumlah pemain per zona dan channel dalam satu grafik dengan waktu tick, beserta waktu yang dipakai untuk perhitungan jarak pandang di dalam tick yang diukur terpisah. Jika tidak ada pengukuran terpisah, periksa porsi CPU per fungsi proses game dengan perf top -p
Cocok jika
Saat jumlah pemain di satu tempat naik 2 kali, waktu tick naik hampir 4 kali, dan fungsi perhitungan jarak pandang dan jarak memakan sebagian besar waktu CPU
Tidak cocok jika
Waktu tick naik sebanding dengan jumlah pemain, atau porsi fungsi pengiriman dan serialisasi besar: lebih mungkin lonjakan broadcast atau biaya serialisasi dan kompresi
Replication Graph in Unreal EngineEpic Games Cara dasar yang memeriksa semua koneksi untuk setiap actor menjadi bottleneck CPU server jika pemain dan actor banyak; MMORPG dan sejenisnya membagi dunia dengan grid dan memakai ulang daftar per sel
perf-top(1) — Linux manual pageperf Menampilkan porsi pemakaian CPU per fungsi (simbol) secara real-time untuk proses (-p) atau thread (-t) yang sedang berjalan