RootDimension

Potential optimizations/improvements

Windows
MacOS
Linux

Syntax

double RootDimension

Remarks

Potential optimizations/improvements

  • Cell sizes are known at each level...can keep a lookup table? will this improve performance?

  • Store cells for each level in separate TDynamicVectors. CellID is then [Level:8 | Index:24]. This would allow level-grids to be processed separately / in-parallel (for example a cut at given level would be much faster)

  • Currently insertion is max-depth but we do not dynamically expand more than once. So early insertions end up in very large buckets. When a child expands we should check if any of its parents would fit.

  • Currently insertion is max-depth so we end up with a huge number of single-object cells. Should only go down a level if enough objects exist in current cell. Can do this in a greedy fashion, less optimal but still acceptable...

  • Store an expand-factor for each cell? or an actual AABB for each cell? this would allow for tighter bounds but requires accumulating expansion "up" the tree...

  • get rid of ValidObjectIDs, I don't think we need it? Tree configuration parameters. It is not safe to change these after tree initialization! Size of the Root cells of the octree. Objects that don't fit in a Root cell are added to a "Spill set"

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss