Personally I'm excited by the prospect of Physx integration. However, the Core team has very limited resources and would need to consider how well contributed code meets end-user needs and expectations before accepting large contributions. Many end-user expectations can be described as "Well it works in SL when I do X but it doesn't in OpenSim" and thus often generates a lot of bug reports in our Mantis system as well as a lot of negative user comments in various social media. If having this engine be a part of core OpenSimulator is one of your goal then some means of addressing such end-user concerns and supporting those users would need to be planned for.
Regardless, I wish you the best of luck in your efforts. On Mon, Mar 23, 2015 at 1:48 PM, Sean M <[email protected]> wrote: > Please allow me to elaborate about the MOSES Team’s PhysX integration: > > · We are not reinventing the wheel: InWorldz [1] has successfully > integrated PhysX into 2010’s OpenSim 0.6.5 with impressive aircraft [2]and > ground vehicle [3, 4]movement. We commend Elenia and David from InWorldz > for their PhysX initiative and information sharing. We are encouraged and > inspired by their results. With that said, the MOSES team is integrating > the latest PhysX version (3.3.3) into current OpenSim, with anticipated, > continued support for future OpenSim versions. Our support includes the > sharing of the integration source code, documentation, and published > experiment results that will compare performance between PhysX to > BulletSim. > > · With our effort, we are providing an alternative physics > engine. Just like the introduction of BulletSim into OpenSim when ODE was > the default, our effort will introduce another option for region owners. > The code we share will follow the OpenSim plug-in architecture [5] and only > require minimal OpenSim configuration file changes to employ PhysX, making > it easy for region owners to run their regions with PhysX and > experiment/test with the engine themselves. > > · From two separate OpenSim profiling events conducted November > 2014 and this January, BulletSim’s CPU demands were observed to be > alarming. Specifically, when comparing all of the components of the > OpenSim.Region namespace (one of the heaviest CPU consumers in OpenSim), we > uncovered that physics dominated consumption by using over 41% of CPU > processing time. It was concluded that because BulletSim physics required > such a large disproportionate amount of CPU, the current physics engine > must be reanalyzed with multithreading and GPU processing capabilities > targeted for efficiency. > > · The most current release of PhysX, 3.3.3 is open-API, > open-sourced, multi-threaded, with complete GPU capabilities. The BulletSim > 2.8 engine that is default in OpenSim is single-threaded and does not > support GPU processing; multi-threading and GPU processing capabilities > will be introduced in BulletSim 3. We have turned to PhysX because it > offers these capabilities, with the additional possibilities of n-bodied > physics and more realistic vehicle and robotic movements straight, out of > the box, today. > > · PhysX is cross-platform. Our PhysX integration will not > intentionally break OpenSim portability. > > · PhysX offers the best open-source use of GPU physics > calculations available [6]; similarly, Nvidia graphics generally outperform > the AMD equivalents [7]. Both of these observations steer us towards making > OpenSim support the best performing external libraries and hardware > possible. It should be noted that the speed-ups PhysX brings to games and > simulators are attributed to tight collaboration and integration between > the physics engine developers and the GPU manufacturer (Nvidia to Nvidia), > commercial software development focused on efficient use of the GPU, and > continuous improvements to the SDK [8]. We are integrating PhysX into > OpenSim because the data suggests that it will give us the best performing > physics engine available. > > · Once our integration is complete, we will share performance > benchmarking methods and tools and performance analysis generated from our > MOSES grid. We will systematically measure OpenSim performance with and > without PhysX. We strive to provide OpenSim with the tools for performance > and the best simulation experience. > > [1] > > "Welcome to the InWorldz virtual world!," [Online]. Available: > http://inworldz.com/. > > [2] > > "When a dream comes true," [Online]. Available: > https://www.youtube.com/watch?v=Fc5O8Jl67wQ&feature=youtu.be. > > [3] > > "InWorldz PhysX Beta 2 Race," [Online]. Available: > https://www.youtube.com/watch?v=7oed95OPI3Q. > > [4] > > "Vehicles in InWorldz - The Road Test | Xay Tomsen," [Online]. Available: > https://www.youtube.com/watch?v=7zXPtMInJUs. > > [5] > > "BulletSim - OpenSimulator," [Online]. Available: > http://opensimulator.org/wiki/BulletSim. > > [6] > > "Popular Physics Engines comparison: PhysX, Havok and ODE," [Online]. > Available: http://physxinfo.com/articles/?page_id=154. > > [7] > > "Borderlands 2 GPU & CPU Performance Test," [Online]. Available: > http://www.techspot.com/review/577-borderlands-2-performance/page5.html. > > [8] > > " > http://physxinfo.com/news/11327/multithreaded-performance-scaling-in-physx-sdk/," > [Online]. Available: > http://physxinfo.com/news/11327/multithreaded-performance-scaling-in-physx-sdk/ > . > > > > All the best, > > Sean Mondesire, Ph.D. > > Virtual World Research Team > > > > On Wed, Mar 18, 2015 at 10:51 PM, Michael Emory Cerquoni < > [email protected]> wrote: > >> on a other note, if GPU support is the end goal for MOSES team, it should >> be noted that Bullet also can do GPU support and even multi-threaded cpu >> support, as it stands right now its only single thread for Bulletsim, >> though it can be loaded into a separate thread removed from the simulator >> heartbeat, it should also be noted that very little effort has gone into >> fully optimizing what Bullet could potentially do in OpenSimulator. I do >> kind of wonder why the choice to not improve this effort instead of trying >> to re-invent the wheel so to speak with yet another platform that >> ultimately is not all that much better than Bullet in the end and >> potentially not cross platform. I must admit my interest will be very >> limited if I am required to use MIAB and likely would not do much testing >> myself if that is the case, also I would have absolutely no interest at all >> if it turns out to not have cross platform support though I am not sure >> that is true. >> >> On Wed, Mar 18, 2015 at 10:42 PM, Michael Emory Cerquoni < >> [email protected]> wrote: >> >>> GPU is not required for PhysX there is a cpu level it can operate at as >>> well, and while GPu support is good, I would also be surprised if >>> OpenSimulator could actually fully utilize a GPU before mono would barf >>> anyway, mono can only handle so much threading and even offloading all of >>> that processing to the GPU, all that data ultimately has to flow back >>> through mono / C# / OpenSim HTTP server and I suspect there will be a huge >>> bottleneck there that would not allow for much more performance than the >>> CPU itself could handle anyway, there would likely be some improvement >>> though, the question is does that warrant the inclusion of an expensive GPU >>> in a server, its going to draw a lot more power, and will not make a lot of >>> sense in a standard data center style setup with 1U rack servers, expanding >>> rack size increases costs quite a lot, the question is does that increased >>> cost benefit performance enough to justify it, the only way to really find >>> out is to try, I wonder if InWorldz does any GPu offloading for their >>> implementation of PhysX, i suspect they do not but would be great to know >>> for sure. >>> >>> On Wed, Mar 18, 2015 at 5:15 PM, David Saunders <[email protected]> >>> wrote: >>> >>>> I know there be allot of grid interested in trying out the new physics >>>> when offer. >>>> >>>> THe only big drawback of people adopting the PhysX is that relies on a >>>> GPU to do its processing and not sure if you run more then one engine on a >>>> machine. >>>> >>>> I am sure smaller grids and self hosters would love it. >>>> >>>> But do correct me, I not looked into PhysX since last year. >>>> >>>> On Wed, Mar 18, 2015 at 4:42 PM, Shaun T. Erickson <[email protected]> >>>> wrote: >>>> >>>>> It would be sad if this were ultimately for Windows only, as that >>>>> would rule out its use by a large segment of the OpenSim community. >>>>> >>>>> -ste >>>>> >>>>> On 3/18/15 4:13 PM, Sean M wrote: >>>>> >>>>> Mike, >>>>> >>>>> Yes, PhysX.net is the targeted wrapper. >>>>> >>>>> Cross compatibility would be nice to maintain but is not a required >>>>> feature for this effort. >>>>> >>>>> Best regards, >>>>> Sean Mondesire, Ph.D. >>>>> MOSES: Virtual World Research Team >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Opensim-dev mailing list >>>>> [email protected] >>>>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Opensim-dev mailing list >>>> [email protected] >>>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev >>>> >>>> >>> >>> >>> -- >>> Michael Emory Cerquoni >>> >> >> >> >> -- >> Michael Emory Cerquoni >> >> _______________________________________________ >> Opensim-dev mailing list >> [email protected] >> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev >> >> > > _______________________________________________ > Opensim-dev mailing list > [email protected] > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev > >
_______________________________________________ Opensim-dev mailing list [email protected] http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
