FPS suddenly jump from "fine" to "unplayable" between 8000 and 9000 DM fractures

I have noticed a problem with my destructible meshes which seems to be a bug in the engine, I just don’t see any reason why this happens… At the moment I have disabled chunks, so the only thing happening is that destructible meshes are receiving damage and chunks are disappearing. This is what I want. My problem is the performance. It all runs smooth, until I have between 42 and 46 DM in my level. Then suddenly every new DM I add is causing a severe framedrop. I have created a video to show it to you:

The wall I build is first only created with instances in an ISMC, and only after clicking (applying damage) they get converted to DMs. In the top left you see me printing out the amount of DM I have in the scene.

You see before I have like 40 DM every new one I add does not really affect performance, the cpu time stays at something between 9ms and 15ms. But after I exceed 42 DMs, every new DM I add causes the CPU time to increase to something like 70ms and the GPU time so something like 100ms for one or 2 frames.

Every DM has 200 fractures, so between 42 DM (8400 fractures) and 46 DM (9200 fractures) seems to be like an invisible border between “performance absolutely fine” and “unplayable”.

I think there is no reason why it should do this sudden jump in performance there. That the fps decrease with the amount of fractures would make sense, but such a border seems more like a bug.

Hey John,

Thanks for the report. I’ve not had time lately to setup anything concrete to test, but this is a lot of physics and DMs that I could see there being performance issues such as this. .

Again, it’s no secret that DMs need some work.

We have several trello cards for this as it is:

Yeah I know these and have them all upvoted… Will you still enter a bug report for this?

Hi John,

Not all the tasks on the Trello have any JIRA task entered for them yet, but we’ve gone ahead and done so for the Destruction optimizations improvements.

The ticket is UE-16792. I want to reiterate that this is NOT a bug ticket. This is simply a task ticket that will be addressed in the future. There is no timeline for when this will be worked on as it’s destruction is not a high priority at the moment compared to other tasks that need to be handled.

As an aside, it was also suggested that you use your DMs in the Async Scene by enabling this in the Project Settings > Physics > Enable Async Scene

Personally, I’ve not used this all that much, so I’m not too familiar with it at the moment.

Thanks, I will try that async setting.

Do you really think this is only a general DM performance problem? The performance is fine until I reach that certain point, so I think it does not have anything to do with the general unoptimized DM performance. It’s a bug, like if a blueprint would suddenly need 5 minutes to open instead of some seconds this also would not be general bad editor performance but a bug with this particular blueprint. So I think a general bug ticket would be better here… For the other post I made about the “form extended structures” performance I agree it could just really just be missing optimization.

It could be general performance issues and it could be that you’ve also well exceeded the hard-coded value for DM fractures which was set to 2000. I think there is a limitation within any system that is created and working within those limitations is key. The ticket listed above will have to be sufficient for the time being since the destruction system is not a priority for the moment. Once optimizations and dedicated time have been given to the system I think we can revisit this, another ticket will not help speed the process along unforutunately.

I have set the hard-coded value in the config file to 12000, so that should not be the problem, and until I reahc that certain point between 8000 and 9000 it works so smoothly :frowning:
I know the destruction system is not a priority at the moment, but bugs generally get fixed faster as feature request, and I think the ticket you have entered is something like a feature request?
I think this might just be a variable which get capped somewhere in the code because your devs have not thought about people setting the max chunk count higher in the config file…
It just feels so unplayable to have these spikes up to 100ms after a new DM is being created…