Files
UnrealEngineUWP/Engine/Source/Editor/LevelEditor
Richard TalbotWatkin d197407b42 Major optimizations to the BSP building process, and BSP Undo.
#jira UE-16405 - Hitch occurs when undoing BSP manipulations

Summary of changes:
- Added 'fuzzy map' for quick look up of nearly equal FVectors, improving the BSP rebuild algorithm from O(n^4) to O(n*m) where m is much smaller than n.
- Added 'fuzzy map' for quick look up of nearly equal FPlanes, improving plane merging from O(n^2) to O(n).
- Changed TTransArrays in UModel to regular arrays, to remove a lot of transaction modifies during BSP rebuild.
- UModel array allocations are now allocated upfront where possible, instead of constant dynamic resizing.
- Optimized algorithm used by UModelComponent::GenerateElements to reduce allocations and simplify map lookups.
- Removed call to ULevel::CommitModelSurfaces in UModelComponent::PostEditUndo, which was causing an enormous amount of unnecessary work on each undo operation.  It is now done, as ever, by UWorld::Tick.

#reviewedby Matt.Kuhlenschmidt

[CL 2600444 by Richard TalbotWatkin in Main branch]
2015-06-25 09:42:17 -04:00
..