Since the KD-tree has more flexibility to choose the splits, does it mean that KD-tree generally performs better than Oct-Tree? Does this comparison also apply to KD-Tree and BSP-Tree? I wonder if there is any case that one would choose Oct-Tree over KD-Tree.
How would you decide which spatial partitioning variant to use? Are there memory tradeoffs for keeping track of more complex variants like the BSP tree compared to the Oct tree?