@Nathan Reed의 답변에 대한 응답으로 이것을 주석으로 추가 할 것입니다. 단, 주석 이기에는 너무 크지 않으며 어쨌든 별도의 대답이 될만한 가치가 있습니다.
우리는 그의 답변에서 제안 된 것을 정확하게하고 있었으며 실제로이 페이지에 링크 된 소스에 의견이 있습니다. 대부분의 경우 2 ~ 3 개월에 한 번씩 엄청난 양의 검색 쿼리로 인해 응답하지 않는 서버가 무작위로 손실되는 것을 제외하고는 매우 잘 작동했습니다.
이 문제의 원인을 알아 내려고 시도하는 성능 검사를 수행하는 동안 문제의 근본 원인이 주목되었습니다. 겹치는 객체를 허용하는 경우에만 문제가 될 수 있습니다. 우리의 게임에서는 최악의 경우 성능 저하로 인한 스파이크가 발생할 수 있습니다.
우리는 경계 디스크가있는 약 100 개의 객체가 아주 근접한 곳에 모여있는 한 가지 경우를 가지고있었습니다. 이는 객체가 쿼드 트리 노드가 차지하는 면적보다 큰 지점에 도달하여 각 새로운 객체가 여러 노드에 나타나고 문제를 통제 할 수없는
개체 영역이 겹치게 할 경우, 개체가 꽉 조여 있으면 나무가 너무 깊어지지 않도록 사물을주의 깊게 살펴보십시오.
현재 조사중인 솔루션은 객체를 점으로 저장 한 다음 검색을 수행 할 때 검색 사각형의 범위를 트리에 저장된 최대 반경만큼 늘리는 것입니다. 트리는 첫 번째 패스 검색이기 때문에 몇 가지 다른 기준 검사와 함께 실제 원 기반 범위 검사를 수행하므로 잘못된 경고가 필터링됩니다.
실제 마일리지는 다를 수 있습니다.