AndresTraks / BulletSharpPInvoke

.NET wrapper for the Bullet physics library using Platform Invoke

Home Page:http://andrestraks.github.io/BulletSharp/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Some questions about the project

maxilevi opened this issue · comments

I have a few questions:

  • I recently integrated the wrapper into my game and everything works fine except I sometimes experience pretty random native code crashes, e.g. #58

  • Which one do you think is more stable for production BulletSharp or BulletSharpPInvoke?

  • Any suggestions/best practices on the best way to integrate this library while avoiding potential crashes?

Thank you for making this great piece of software!

I'll answer about the crash in #58.

There haven't been major updates to the core part of the Bullet library in a few years, so in terms of the API, both BulletSharp and BulletSharpPInvoke are stable. For new games, I would probably recommend PInvoke, because it supports more platforms besides Windows.

The only reason I still call PInvoke "experimental" (and keep it at version 0.x) is that I'm currently rewriting the Matrix class to match Bullet's memory layout and API. This will be a breaking API change. After that, I'd like to phase out C++/CLI, because the only benefit it provides is a very slight performance improvement.

I don't really keep close contact with game developers, nor do I work on games myself anymore, so when it comes to random crashes, all I have to go by are the issue reports on GitHub. BulletSharp demos should cover most of the use cases and I know that those work, so I believe that crashes are rare. That said, it can be difficult to diagnose issues because of the complexity from all of the layers (C# -> libbulletc -> Bullet).

Thanks for the feedback!