AntoineCharton / Bepuphysics-Unity

A bridge for Bepuphysics and Unity
Apache License 2.0
64 stars 23 forks source link

BEPUPhysics vs Unity's new Havok in terms of performance #2

Open PrakashNep opened 4 years ago

PrakashNep commented 4 years ago

Hello :) I'm really interested in BEPUPhysics and this project :) What comments do you have in regards to BEPUPhysics and the DOTS/ HAVOK Physics that Unity is working on and rn available to use? I'm starting to work on a new game, and seeing the performance of Bepu really got me hyped when I saw its video yesterday. Please let me know your thoughts in comparision to Bepu vs the new physics engine Unity is currently developing.. I really have to choose one for those massive physics requirements for my Android game :) Kind regards.

AntoineCharton commented 4 years ago

I haven't tested Havok so I can only tell you for Bepu.

Bepu uses System.Numerics.Vectors which is a cool .NET feature that allows writing hardware accelerated code in C#. Right now this class is not hardware accelerated in Unity, so Bepu runs a lot slower than what it is supposed to.

This repo is kind of experimental for now. I would not recommend using it in Unity for an important project.

Here are some threads for the Hardware acceleration stuff. https://forum.unity.com/threads/feature-request-system-numerics-simd-acceleration.724775/ https://forum.unity.com/threads/how-about-performance-by-default-for-editor.603997/page-2#post-5227220 https://forum.bepuentertainment.com/viewtopic.php?f=9&t=2528&start=15

Nolram12345 commented 3 years ago

Wouldn't it be possible to use Burst for this ?

AntoineCharton commented 3 years ago

It would be possible but it would involve rewriting every part that involves SIMD inside Bepu. This repo is about taking Bepu code and making a wrapper for Unity not rewriting the physic engine itself. I would say the best ending for this would be to have a CoreCLR support for unity on which Bepu has really good performances and wouldn't require anything to change in here.