Bunu @Nathan Reed'in cevabına bir yorum olarak ekleyeceğim, ancak yorum yapmak için çok büyük ve belki de her durumda ayrı bir cevap olmaya değer.
Cevabında önerilenleri tam olarak yapıyorduk ve aslında bu sayfaya bağlantı veren kaynak hakkında yorum yaptık. Çoğunlukla, iki veya üç ayda bir, çok fazla arama sorgusu nedeniyle yanıt vermeyen rastgele bir sunucuyu kaybetmemiz dışında son derece iyi çalıştı.
Buna neyin sebep olduğunu anlamak için bir performans kontrolü yaparken sorunun temel nedeni dikkatimi çekti. Büyük olasılıkla, üst üste binen nesnelere izin vermeniz endişe vericidir. Oyunumuzda yapıyoruz ve en kötü senaryoda, bazen performans öldürme derinliği artışına yol açıyor.
Sınırlayıcı diskleri olan yaklaşık 100 nesnenin çok yakın bir yerde toplandığı bir kenar vakamız vardı. Bu, ağaçta çok derin bir başak sorununa yol açar, çünkü nesnelerin dörtlü düğümlerin kapsadığı alandan daha büyük olduğu noktaya geldik, bu nedenle her yeni nesne birden fazla düğümde görünüyordu ve bu da ağaç, böylece kontrol dışı kartopu.
Buradaki paket, nesne bölgelerinin çakışmasına izin verirseniz, nesnelerin sıkı kümeleri alırsanız, ağacınızın çok derinleşmediğinden emin olmak için şeylere yakından bakın.
Şu anda araştırdığım çözüm, nesneleri nokta olarak saklamak ve daha sonra bir arama yaparken, arama dikdörtgeninin sınırlarını ağaçta depolanan maksimum yarıçap ile arttırmaktır. Bu bizim için işe yarayacaktır, çünkü ağaç ilk geçiş araması olduğundan, diğer birkaç kriter kontrolüyle birlikte gerçek bir daire tabanlı aralık kontrolü yaparız, böylece ekstra yanlış uyarılar filtrelenir.
Gerçek kilometreniz değişebilir.