Mengerjakan permainan saya, saya berada pada titik di mana saya perlu melacak semua unit di dunia sehingga saya dapat melakukan pemeriksaan tetangga terdekat untuk pertempuran. Ini adalah permainan seperti RTS, dengan kemungkinan ribuan unit otomatis kecil bergerak.
Saya telah mencari di KD-Trees dan Quadtrees (terutama Point Quadtrees). Saya masih mencoba mempelajari detail cara kerjanya, tetapi sejauh ini Point Quadtrees paling masuk akal bagi saya. Namun, saya mendapat kesan bahwa KD-Trees lebih cepat untuk mencari, yang penting dengan jumlah poin yang saya miliki di pohon.
Di sisi lain, dalam kasus saya, saya akan melacak sejumlah besar unit yang selalu bergerak. Dari bingkai ke bingkai, posisi mereka akan selalu berbeda. Quadtrees tampaknya lebih cepat untuk menyeimbangkan kembali daripada KD-Trees, tapi saya tidak tahu apakah itu berlaku ketika Anda menyeimbangkan kembali setiap titik di pohon.
Saya bertanya-tanya apakah akan lebih baik dalam hal ini untuk hanya memotong pohon setiap frame dan membangunnya kembali dari awal, daripada mencoba untuk menyeimbangkan kembali setiap titik di pohon? Jika Quadtree lebih cepat menyeimbangkan kembali, apakah itu juga berarti lebih cepat untuk membangun dari awal? Jika demikian, itu mungkin lebih penting untuk kinerja daripada kecepatan pencarian KD-Tree, tergantung pada seberapa banyak beban untuk membuat pohon, tapi saya tidak tahu ...