Hi folks!
So I have a question that seems to have come up a lot but I keep finding different or vague answers…
Is PhysX 3.3.2 deterministic?? When I use a completely fixed time step, as described by this article [url]Fix Your Timestep! | Gaffer On Games for example, and feed in identical input, on the same machine, will PhysX give me exactly (bit for bit) the same result between 2 separate runs of the application??
I’ve found many conflicting answers to this on various threads but these seemed the most official…and yet still conflicted…
This thread: [url]https://devtalk.nvidia.com/default/topic/543510/run-physics-simulate-several-times-get-different-results-why-/[/url] which states there’s some determinism. I’ve also had a quick go at fixing the time step in Unreal 4.7 and that seemed to give deterministic results, which is what I’m after, although I didn’t check at a byte level…
But then this article seemed a pretty definitive answer to the contrary [url]http://www.nvidia.com/object/physx_knowledge_base.html[/url] They say the following: “the PhysX SDK is not deterministic. Especially when running different hardware setups, bus latencies can vary between runs, or on different machines. Even without hardware in the machine, we do not guarantee any type of determinism.”
So now I’m wondering if my test was a fluke, or whatever version of PhysX Unreal had at the time just happened to be deterministic at that point for that use case.
So does anyone know what the answer is?? Is all/some/none of PhysX 3.3.2 deterministic??
Thanks very much in advance for any insights :)