Major performance hit upgrading to 4.18 - BSP heavy maps

Hi,

We currently use a lot (hundreds to thousands) of BSP geometry during map development for blocking out walls/floors. There have been no performance issues from this in previous versions of the engine (up to 4.17.2).

Since upgrading from 4.17.2 to 4.18.2, performance has taken a dive. Profiling shows collision sweeps for Character Movement to be the main culprit. Further testing has shown that this only seems to happen when there is a significant amount BSP geometry.

I’ve created a test project which demonstrates the issue.

  1. Created a FPS Blueprint project
  2. Started a blank map and added several large, spread out BSP boxes
  3. Added additional FirstPersonCharacter blueprints to the map (to simulate AI and show how the issue gets exaggerated when multiple characters are on the map)
  4. Stat game in console to see time spent in the game code
  5. Upgrade project to 4.18.2 → right click uproject file and switch engine version - alternatively just open up in 4.18
  6. Stat game in console to see time spent - notice collision code has shot right up

Collision analyzer (and the UE4 profiler) show ComputeFloorDist taking a particularly high amount of time (.5 to up to 1ms per frame from one character).

I’ve attached some screenshots of stat game from 4.17 vs 4.18, as well as a screenshot of the collision analyzer output from 4.18.

My test project is also linked below, which can be tested in 4.17, then converted to 4.18 to immediately notice the effect.

I understand and appreciate that BSP geometry should not be used in the final map (static meshes preferred) which is what we progressively move to over time, however this performance hit is making it incredibly difficult to test out our gameplay since our framerate is now so low (easily hitting over 150 FPS in some scenes down to now around 20fps constant due to CPU bottleneck).

Test project can be downloaded here:
http://www.primaxentertainment.com/Test4.17.zip

Any guidance and investigation would be appreciated.

Cheers

Luke

Hi, just wondering if anyone has been able to look at this yet?

Hi there. do you have any update on this issue?

  • is it still happening in 4.19?
  • any bug tracker on this? I don’t see any acknowledgement on issues.unrealengine.com

Am extremely disappointed this is not being tracked at this point.

Hi, yes it’s been fixed! Can confirm I’ve upgraded to 4.19 now and absolutely no issues.

Issue here:

Let me know how you go with your project.

thank you so much! this is such a huge relief as we’re about to compile 4.19 from source.