Jika waktu game disimpan dalam format bilangan desimal berpresisi rendah (float), makin lama game menyala, makin turun resolusi waktunya (selisih waktu terkecil yang bisa dibedakan), sehingga gerakan dan efek bergetar.
Mengapa Waktu sejak game dinyalakan diakumulasi dalam float atau langsung diteruskan ke shader → Akibatnya Makin lama game menyala, makin besar selisih terkecil yang bisa dinyatakan float → Di layar Karakter, animasi, dan efek yang mengalir bergetar hanya di klien yang sudah menyala berhari-hari, lalu normal lagi setelah game dimulai ulang
Penanggung jawab utama Pengembangan klien (Tim Pengembang Game)
Tugas Tim Pengembang Game
Simpan waktu yang berlalu dalam double (64-bit) atau integer, reset waktu yang diteruskan ke shader secara berkala, jalankan tes otomatis jangka panjang selama beberapa hari.
Kisaran angka
Float 32-bit hanya punya sedikit lebih dari 7 digit signifikan, sehingga setelah menyala sehari (sekitar 86.400 detik) resolusi waktunya sekitar 8 ms, kira-kira setengah dari satu frame 60 FPS (16,7 ms), dan setelah seminggu sekitar 60 ms, lebih besar dari satu frame.
Di grafik
Naik perlahan · Laporan getaran per lama klien menyala
Yang diperiksa
Minta laporan getaran disertai lama klien menyala, lalu bandingkan sebelum dan sesudah game dimulai ulang. Di sisi pengembangan, uji dengan mengatur nilai waktu mulai game seolah sudah lewat beberapa hari
Cocok jika
Bergetar hanya di klien yang menyala berhari-hari, hilang setelah dimulai ulang, dan makin parah makin lama klien menyala
Tidak cocok jika
Langsung bergetar begitu dinyalakan: lebih mungkin “Buffer interpolasi tidak ada atau terlalu pendek” atau “Resolusi timer”
Sarana pemeriksaan
Lingkungan pemain sendiri
Pelajari lebih lanjut
Terutama muncul di MMO mobile yang fitur auto hunt-nya dinyalakan dan tidak dimatikan selama berhari-hari. Time.time di Unity juga bertipe float, sehingga Unity menyediakan Time.timeAsDouble yang bertipe double secara terpisah dan menyarankan pemakaiannya.
Sumber
Time.timeAsDoubleUnity Versi double dari Time.time; makin lama game menyala, makin presisi dibanding float, sehingga umumnya disarankan