I’m digging into why I see this so much. In demos I often see along the lines of, look 100k rigid bodies with 24fps, weeeeee… yet it looks like cold syrup running down a stack of pancakes. Yes, yes, it depends on masses forces etc.
So I made a simple app dropping single 1 unit cubes with densities of 1 unit with material frictions of 0.5 on to a floor with the same friction from a height of 10 units. If those units are meters then it is not a lot to build up acceleration (which brings up a tangent questions see below). The blocks are instantiated at the same spot per mouse click, so if I hold down the mouse it will instantiate as fast as the system can do it.
So I am happily watching the screen drop boxes with a click or two and they stack on each other just fine with a tiny bit of skew which looks realistic. I then hold the mouse button down. Blocks just fly out.
Interestingly, they occasionally form a cross pattern as they spawn on top of each other. the force from the spawn effect appears to not be much as they only cascade for the most part, with about a 10 unit spread. The spawn eventually slows down, though doggedly like it hit some cap.
With a debug build and 4 CPU threads available (quad core i7), I notice CPU 1 is pegged regardless the action on the screen so is this profiling with the checked build ? GPU Z shows about 3% load.
Holding down the mouse to keep spawning cubes, the rendering slows down, the system CPU load rarely goes beyond 27% and the GPU load rarely beyond 18%. What is slowing down the system ? There appears to be plenty of capacity left. My guess is the app or tasks are locked to a single CPU. If so is it because of the checked build ?
PhysX 3.x has some issues with the binary release being compatible with each other and the system run times so I don’t have a release build yet. I’ve asked about that in another post and may be related to VS2012 even though it is built with Win7.1 SDK.
The original purpose was to explore simple demo slow motion to try and recreate some of the demo videos I’ve seen to see if it is just a matter of forces to speed things up. I haven’t quite made it due to the debug slow down hunt dragging me away. Comment on the general issue of “slo-mo” is appreciated.
(Tangential questions about acceleration: Does PhysX accelerate object as if in a vacuum ? No terminal velocity ? What are the effective limits on acceleration and what point does CCD stop being effective due to acceleration ?)
Thank you nVidia for sharing the PhysX lib !