Is PhysX a bad idea?

Nvidia PhysX is natively ran on the GPUs to perform better. In UE4, PhysX is CPU-based, so it will use only one core of the CPU. Will that dramatically slow my game?

Hi Sabino,

I’m going to assume you’re asking mostly about Destruction here since that was a focus of some of your previous questions.

Well to be perfectly honest, anything can slow your game that is not optimized for your target hardware, so I guess in a sense the answer to that would be yes. But the answer is also no, at least in my use of PhysX and destruction.

There are optimizations with the DMs that can be done to help limit the impact you may get from slow-downs. There are even hard limits for the number of fracture chunks that can be present in your scene before they are capped (It’s set to 2000). A lot of this will depend on your hardware specifications.

Here at Epic my machine is pretty beefy and can handle quite a bit with destruction, but I can slow it down real easy by having too much going on at once.

My machine at home is modest at best. Dual core processor, GTX-750-ti, 16 gb of ram. It’s much easier on my home system to get slow downs if I go crazy, but with some optimization of how your chunks are handled with some of the settings in DMs you can get smoother results.

If I’m going to use a lot of chunks I would use some of the following settings:

-Debris Timeout
-Max Separation
-Use Valid Bounds
-Debris Lifetime
-If you’re using multiple depth layers make sure to set Essential LOD Depth.

The biggest thing about using A LOT of DMs in your scene is making sure that you’re keeping the fractures under control. By using some of these settings you can get rid of of the processing that is required by getting them out of the scene faster and only keeping the essential LOD depth that will affect gameplay.

If we use Battlefield 3 as an example for it’s destruction (didn’t look to see what physics engine it uses, but just looking at the destruction here) you can see that there really isn’t as much going on as you would think, and this is a game that is known for it’s destructible environments.

If we break down what’s going on:

  • Particle effects: Dust and debris chunks that are quickly gone
  • modest amount of fracture chunks (25-50ish for a wall depending on it’s width)
  • from the looks also, it appears something similar to FBX chunks is being used in place of a Voronoi fracture to get more detailed results.

So to go back and sum everything up, I think that it’s reasonable to get some good results with PhysX even in its CPU based form. The main thing here is optimization and testing on your lowest target hardware.