PhysX vs. BulletSim vs. ODE

classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

PhysX vs. BulletSim vs. ODE

Sean M
Greetings,

The MOSES Team has been working on integrating NVIDIA's PhysX physics engine into OpenSim. Once complete, this integration will give OpenSim grid administrators the option of selecting the new engine for their own worlds. 

Prior to releasing the complete integration, the team has begun extensively testing and analyzing the engine's performance. We are pleased to report that PhysX significantly improves OpenSim's ability to support more physical objects than BulletSim and ODE. Our analysis ran under controlled and repeated testing (30 independent OpenSim executions per engine) that isolated physics engine related variables. Under these conditions, PhysX supported 86% more physical objects than BulletSim (the OpenSim default physics engine) before the simulation's performance starts to noticeable degrade. More specifically, before dropping below 9 simulation frames per second (SimFPS), PhysX supported 3,300 physical objects (AtvPrm), BulletSim 1,800, and ODE 200. The reported SimFPS did not use the correction factor; therefore, the highest frame rate was 11.33 frames per second. Attached is a graph of the performance of the three physics engines as 5,000 physical objects were generated in the simulation. All experiment details will be available in the 2016 proceedings of MODSIM World.

Again, we are very pleased with the result and believe everyone will benefit from the effort. An announcement will be made in a few days to indicate when the final integration code will be available on the MOSES public GitHub.

Thank you,
Sean Mondesire
MOSES Team

Inline image 1

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Michael Emory Cerquoni
I have had over 100,000 physical spheres in Bulletsim without a crash and was still able to log in, move around and erase all the objects and have performance go back to normal, you need to enable running it in its own Thread, to achieve this level of performance. to enable this feature in the [BulletSim] section of OpenSim.ini add :
UseSeparatePhysicsThread = true

On Wed, Feb 3, 2016 at 10:56 AM, Sean M <[hidden email]> wrote:
Greetings,

The MOSES Team has been working on integrating NVIDIA's PhysX physics engine into OpenSim. Once complete, this integration will give OpenSim grid administrators the option of selecting the new engine for their own worlds. 

Prior to releasing the complete integration, the team has begun extensively testing and analyzing the engine's performance. We are pleased to report that PhysX significantly improves OpenSim's ability to support more physical objects than BulletSim and ODE. Our analysis ran under controlled and repeated testing (30 independent OpenSim executions per engine) that isolated physics engine related variables. Under these conditions, PhysX supported 86% more physical objects than BulletSim (the OpenSim default physics engine) before the simulation's performance starts to noticeable degrade. More specifically, before dropping below 9 simulation frames per second (SimFPS), PhysX supported 3,300 physical objects (AtvPrm), BulletSim 1,800, and ODE 200. The reported SimFPS did not use the correction factor; therefore, the highest frame rate was 11.33 frames per second. Attached is a graph of the performance of the three physics engines as 5,000 physical objects were generated in the simulation. All experiment details will be available in the 2016 proceedings of MODSIM World.

Again, we are very pleased with the result and believe everyone will benefit from the effort. An announcement will be made in a few days to indicate when the final integration code will be available on the MOSES public GitHub.

Thank you,
Sean Mondesire
MOSES Team

Inline image 1

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev




--
Michael Emory Cerquoni

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Michael Emory Cerquoni
The bigger problem is that after about 1000 physical objects the viewer cant handle that many updates anymore, so realistically unless we get a new viewer and much much better protocols, the real limit is not bound to the physics engine on any level, our ability to send 1000s of updates to the viewer in real-time is the real issue.

On Wed, Feb 3, 2016 at 11:10 AM, Michael Emory Cerquoni <[hidden email]> wrote:
I have had over 100,000 physical spheres in Bulletsim without a crash and was still able to log in, move around and erase all the objects and have performance go back to normal, you need to enable running it in its own Thread, to achieve this level of performance. to enable this feature in the [BulletSim] section of OpenSim.ini add :
UseSeparatePhysicsThread = true

On Wed, Feb 3, 2016 at 10:56 AM, Sean M <[hidden email]> wrote:
Greetings,

The MOSES Team has been working on integrating NVIDIA's PhysX physics engine into OpenSim. Once complete, this integration will give OpenSim grid administrators the option of selecting the new engine for their own worlds. 

Prior to releasing the complete integration, the team has begun extensively testing and analyzing the engine's performance. We are pleased to report that PhysX significantly improves OpenSim's ability to support more physical objects than BulletSim and ODE. Our analysis ran under controlled and repeated testing (30 independent OpenSim executions per engine) that isolated physics engine related variables. Under these conditions, PhysX supported 86% more physical objects than BulletSim (the OpenSim default physics engine) before the simulation's performance starts to noticeable degrade. More specifically, before dropping below 9 simulation frames per second (SimFPS), PhysX supported 3,300 physical objects (AtvPrm), BulletSim 1,800, and ODE 200. The reported SimFPS did not use the correction factor; therefore, the highest frame rate was 11.33 frames per second. Attached is a graph of the performance of the three physics engines as 5,000 physical objects were generated in the simulation. All experiment details will be available in the 2016 proceedings of MODSIM World.

Again, we are very pleased with the result and believe everyone will benefit from the effort. An announcement will be made in a few days to indicate when the final integration code will be available on the MOSES public GitHub.

Thank you,
Sean Mondesire
MOSES Team

Inline image 1

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev




--
Michael Emory Cerquoni



--
Michael Emory Cerquoni

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Cinder Roxley
On February 3, 2016 at 9:15:12 AM, Michael Emory Cerquoni ([hidden email]) wrote:
The bigger problem is that after about 1000 physical objects the viewer cant handle that many updates anymore, so realistically unless we get a new viewer and much much better protocols, the real limit is not bound to the physics engine on any level, our ability to send 1000s of updates to the viewer in real-time is the real issue.


Err, what hat did you pull *that* figure out of?

-- 
Cinder Roxley
Sent with Airmail

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Michael Emory Cerquoni
I am mostly going on prim counts i have rezzer that shows counter of how many prims emitted, generally when i see prim objects start flying off in various directions, some objects get frozen in the air until i select the item then it falls, its always around 800-1000 prim objects this starts, its quite easy to see the viewer starts to flounder with around 1000 physical prim objects, it is not rocket science.

On Wed, Feb 3, 2016 at 11:42 AM, Cinder Roxley <[hidden email]> wrote:
On February 3, 2016 at 9:15:12 AM, Michael Emory Cerquoni ([hidden email]) wrote:
The bigger problem is that after about 1000 physical objects the viewer cant handle that many updates anymore, so realistically unless we get a new viewer and much much better protocols, the real limit is not bound to the physics engine on any level, our ability to send 1000s of updates to the viewer in real-time is the real issue.


Err, what hat did you pull *that* figure out of?

-- 
Cinder Roxley
Sent with Airmail

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev




--
Michael Emory Cerquoni

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Michael Emory Cerquoni
I have done 100's of these kinds of tests by the way, so that hat!
https://www.youtube.com/user/nebadon2025/search?query=bulletsim

On Wed, Feb 3, 2016 at 11:55 AM, Michael Emory Cerquoni <[hidden email]> wrote:
I am mostly going on prim counts i have rezzer that shows counter of how many prims emitted, generally when i see prim objects start flying off in various directions, some objects get frozen in the air until i select the item then it falls, its always around 800-1000 prim objects this starts, its quite easy to see the viewer starts to flounder with around 1000 physical prim objects, it is not rocket science.

On Wed, Feb 3, 2016 at 11:42 AM, Cinder Roxley <[hidden email]> wrote:
On February 3, 2016 at 9:15:12 AM, Michael Emory Cerquoni ([hidden email]) wrote:
The bigger problem is that after about 1000 physical objects the viewer cant handle that many updates anymore, so realistically unless we get a new viewer and much much better protocols, the real limit is not bound to the physics engine on any level, our ability to send 1000s of updates to the viewer in real-time is the real issue.


Err, what hat did you pull *that* figure out of?

-- 
Cinder Roxley
Sent with Airmail

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev




--
Michael Emory Cerquoni



--
Michael Emory Cerquoni

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Cinder Roxley
In reply to this post by Michael Emory Cerquoni
On February 3, 2016 at 9:55:17 AM, Michael Emory Cerquoni ([hidden email]) wrote:
I am mostly going on prim counts i have rezzer that shows counter of how many prims emitted, generally when i see prim objects start flying off in various directions, some objects get frozen in the air until i select the item then it falls, its always around 800-1000 prim objects this starts, its quite easy to see the viewer starts to flounder with around 1000 physical prim objects, it is not rocket science.

This is more due to the latency between your simulator and your viewer. It’s hardly a viewer limitation.

-- 
Cinder Roxley
Sent with Airmail

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Michael Emory Cerquoni
semantics, whatever the limitation is OpenSimulator can't update the viewer with more than about 1000 objects, I do all of my tests locally on 1000Mbit network, so if thats not enough what is? maybe I need 10TB network?

On Wed, Feb 3, 2016 at 12:01 PM, Cinder Roxley <[hidden email]> wrote:
On February 3, 2016 at 9:55:17 AM, Michael Emory Cerquoni ([hidden email]) wrote:
I am mostly going on prim counts i have rezzer that shows counter of how many prims emitted, generally when i see prim objects start flying off in various directions, some objects get frozen in the air until i select the item then it falls, its always around 800-1000 prim objects this starts, its quite easy to see the viewer starts to flounder with around 1000 physical prim objects, it is not rocket science.

This is more due to the latency between your simulator and your viewer. It’s hardly a viewer limitation.

-- 
Cinder Roxley
Sent with Airmail

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev




--
Michael Emory Cerquoni

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Cinder Roxley
On February 3, 2016 at 10:02:57 AM, Michael Emory Cerquoni ([hidden email]) wrote:
semantics, whatever the limitation is OpenSimulator can't update the viewer with more than about 1000 objects, I do all of my tests locally on 1000Mbit network, so if thats not enough what is? maybe I need 10TB network?

Not semantics, accuracy matters when you’re placing blame on the wrong components. The fact that you even see objects rubberbanding is enough to know the viewer is capable of rendering those scenes. It’s trying to predict where that object is going when it hasn’t received that object’s next update. I can rez 3,500 objects in Second Life before seeing this behavior. It’s far lower in OpenSim because the HTTP/UDP server is crap. Convenient, but none-the-less crap under load.

Naturally, you aren’t going to see people rezzing 3,500 balls and dropping them in a real world scenario, but you may have 10,000 physical but not actively thrown around objects in a scene, and bullet sim is less than happy when this happens.

-- 
Cinder Roxley
Sent with Airmail

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Michael Emory Cerquoni
I totally agree, my entire point was that there are much lower performance issues than the physics engine, doesn't matter if the physics engine can handle 100,000 objects or not opensimulator can not adequately update the viewer, very much probably because of the HTTP server, totally agree, if my wording was misleading I apologize.  I however do not agree with the assessment being made about bulletsim, I have seen much higher numbers than what is being shown here, I would like to see another run added to these results with BulletSim configured to run in its own thread and not the main simulator heartbeat loop, you would see much different results I suspect, If anyone needs to see a actual demonstration of a simulator with 10's of 1000's of physical objects in BulletSim i can certainly demonstrate it.

On Wed, Feb 3, 2016 at 12:12 PM, Cinder Roxley <[hidden email]> wrote:
On February 3, 2016 at 10:02:57 AM, Michael Emory Cerquoni ([hidden email]) wrote:
semantics, whatever the limitation is OpenSimulator can't update the viewer with more than about 1000 objects, I do all of my tests locally on 1000Mbit network, so if thats not enough what is? maybe I need 10TB network?

Not semantics, accuracy matters when you’re placing blame on the wrong components. The fact that you even see objects rubberbanding is enough to know the viewer is capable of rendering those scenes. It’s trying to predict where that object is going when it hasn’t received that object’s next update. I can rez 3,500 objects in Second Life before seeing this behavior. It’s far lower in OpenSim because the HTTP/UDP server is crap. Convenient, but none-the-less crap under load.

Naturally, you aren’t going to see people rezzing 3,500 balls and dropping them in a real world scenario, but you may have 10,000 physical but not actively thrown around objects in a scene, and bullet sim is less than happy when this happens.

-- 
Cinder Roxley
Sent with Airmail

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev




--
Michael Emory Cerquoni

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Michael Emory Cerquoni
Here is a quick video I made just now with 10k physical spheres, its a bit slow its hard to render that much and record at the same time, but you can see BulletSim does quite well considering what is going on and its far beyond what is shown in the chart for BulletSim.

https://www.youtube.com/watch?v=0RBpDDEAg_o&feature=youtu.be

On Wed, Feb 3, 2016 at 12:20 PM, Michael Emory Cerquoni <[hidden email]> wrote:
I totally agree, my entire point was that there are much lower performance issues than the physics engine, doesn't matter if the physics engine can handle 100,000 objects or not opensimulator can not adequately update the viewer, very much probably because of the HTTP server, totally agree, if my wording was misleading I apologize.  I however do not agree with the assessment being made about bulletsim, I have seen much higher numbers than what is being shown here, I would like to see another run added to these results with BulletSim configured to run in its own thread and not the main simulator heartbeat loop, you would see much different results I suspect, If anyone needs to see a actual demonstration of a simulator with 10's of 1000's of physical objects in BulletSim i can certainly demonstrate it.

On Wed, Feb 3, 2016 at 12:12 PM, Cinder Roxley <[hidden email]> wrote:
On February 3, 2016 at 10:02:57 AM, Michael Emory Cerquoni ([hidden email]) wrote:
semantics, whatever the limitation is OpenSimulator can't update the viewer with more than about 1000 objects, I do all of my tests locally on 1000Mbit network, so if thats not enough what is? maybe I need 10TB network?

Not semantics, accuracy matters when you’re placing blame on the wrong components. The fact that you even see objects rubberbanding is enough to know the viewer is capable of rendering those scenes. It’s trying to predict where that object is going when it hasn’t received that object’s next update. I can rez 3,500 objects in Second Life before seeing this behavior. It’s far lower in OpenSim because the HTTP/UDP server is crap. Convenient, but none-the-less crap under load.

Naturally, you aren’t going to see people rezzing 3,500 balls and dropping them in a real world scenario, but you may have 10,000 physical but not actively thrown around objects in a scene, and bullet sim is less than happy when this happens.

-- 
Cinder Roxley
Sent with Airmail

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev




--
Michael Emory Cerquoni



--
Michael Emory Cerquoni

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Sean M
Thank you Michael for your comments.

The preliminary data that I shared earlier was generated from default settings across the different engines. The MOSES Team's ongoing and upcoming tests will analyze the impact of different configurations between the three engines.

Because OpenSim can be executed on a wide range of platforms to satisfy diverse use-cases, thorough and exhaustive testing can be difficult for just the small MOSES Team. Therefore, I hope you and other members of the community can take the time to deeply analyze our contribution and provide quality feedback upon final release. With your help, others can make the educated determination if adopting and enabling PhysX is right for their sims.

All the best,
Sean Mondesire
MOSES Team

On Wed, Feb 3, 2016 at 1:57 PM, Michael Emory Cerquoni <[hidden email]> wrote:
Here is a quick video I made just now with 10k physical spheres, its a bit slow its hard to render that much and record at the same time, but you can see BulletSim does quite well considering what is going on and its far beyond what is shown in the chart for BulletSim.

https://www.youtube.com/watch?v=0RBpDDEAg_o&feature=youtu.be

On Wed, Feb 3, 2016 at 12:20 PM, Michael Emory Cerquoni <[hidden email]> wrote:
I totally agree, my entire point was that there are much lower performance issues than the physics engine, doesn't matter if the physics engine can handle 100,000 objects or not opensimulator can not adequately update the viewer, very much probably because of the HTTP server, totally agree, if my wording was misleading I apologize.  I however do not agree with the assessment being made about bulletsim, I have seen much higher numbers than what is being shown here, I would like to see another run added to these results with BulletSim configured to run in its own thread and not the main simulator heartbeat loop, you would see much different results I suspect, If anyone needs to see a actual demonstration of a simulator with 10's of 1000's of physical objects in BulletSim i can certainly demonstrate it.

On Wed, Feb 3, 2016 at 12:12 PM, Cinder Roxley <[hidden email]> wrote:
On February 3, 2016 at 10:02:57 AM, Michael Emory Cerquoni ([hidden email]) wrote:
semantics, whatever the limitation is OpenSimulator can't update the viewer with more than about 1000 objects, I do all of my tests locally on 1000Mbit network, so if thats not enough what is? maybe I need 10TB network?

Not semantics, accuracy matters when you’re placing blame on the wrong components. The fact that you even see objects rubberbanding is enough to know the viewer is capable of rendering those scenes. It’s trying to predict where that object is going when it hasn’t received that object’s next update. I can rez 3,500 objects in Second Life before seeing this behavior. It’s far lower in OpenSim because the HTTP/UDP server is crap. Convenient, but none-the-less crap under load.

Naturally, you aren’t going to see people rezzing 3,500 balls and dropping them in a real world scenario, but you may have 10,000 physical but not actively thrown around objects in a scene, and bullet sim is less than happy when this happens.

-- 
Cinder Roxley
Sent with Airmail

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev




--
Michael Emory Cerquoni



--
Michael Emory Cerquoni

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev



_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Michael Emory Cerquoni
Sure, OpenSimulator like many server applications, like MySQL or
Apache are not configured for maximum performance out of the box, the
default settings are chosen to allow the broadest range of hardware to
run a quick test to see if OpenSimulator can work for you or not.
Personally I think all Physics engines should be run on their own
thread, having the physics engine share a thread with the heartbeat
loop is a bad idea and will cause performance decay almost the instant
any kind of stress is put on the chosen physics engine and if you
notice in my video the Sim FPS never budges from 55fps while Physics
takes a real beating, even so with BulletSim set to use its own
thread, its still only a single thread, if we can resolve the major
issues with sending so many updates to a viewer either by new
protocols or fixing the OpenSimulator HTTP server, or a completely new
viewer technology, improving physics beyond this to say
multi-threading or GPU accelerated physics seems like it won't be as
beneficial as we all hope it would.

On Wed, Feb 3, 2016 at 3:28 PM, Sean M <[hidden email]> wrote:

> Thank you Michael for your comments.
>
> The preliminary data that I shared earlier was generated from default
> settings across the different engines. The MOSES Team's ongoing and upcoming
> tests will analyze the impact of different configurations between the three
> engines.
>
> Because OpenSim can be executed on a wide range of platforms to satisfy
> diverse use-cases, thorough and exhaustive testing can be difficult for just
> the small MOSES Team. Therefore, I hope you and other members of the
> community can take the time to deeply analyze our contribution and provide
> quality feedback upon final release. With your help, others can make the
> educated determination if adopting and enabling PhysX is right for their
> sims.
>
> All the best,
> Sean Mondesire
> MOSES Team
>
> On Wed, Feb 3, 2016 at 1:57 PM, Michael Emory Cerquoni
> <[hidden email]> wrote:
>>
>> Here is a quick video I made just now with 10k physical spheres, its a bit
>> slow its hard to render that much and record at the same time, but you can
>> see BulletSim does quite well considering what is going on and its far
>> beyond what is shown in the chart for BulletSim.
>>
>> https://www.youtube.com/watch?v=0RBpDDEAg_o&feature=youtu.be
>>
>> On Wed, Feb 3, 2016 at 12:20 PM, Michael Emory Cerquoni
>> <[hidden email]> wrote:
>>>
>>> I totally agree, my entire point was that there are much lower
>>> performance issues than the physics engine, doesn't matter if the physics
>>> engine can handle 100,000 objects or not opensimulator can not adequately
>>> update the viewer, very much probably because of the HTTP server, totally
>>> agree, if my wording was misleading I apologize.  I however do not agree
>>> with the assessment being made about bulletsim, I have seen much higher
>>> numbers than what is being shown here, I would like to see another run added
>>> to these results with BulletSim configured to run in its own thread and not
>>> the main simulator heartbeat loop, you would see much different results I
>>> suspect, If anyone needs to see a actual demonstration of a simulator with
>>> 10's of 1000's of physical objects in BulletSim i can certainly demonstrate
>>> it.
>>>
>>> On Wed, Feb 3, 2016 at 12:12 PM, Cinder Roxley <[hidden email]>
>>> wrote:
>>>>
>>>> On February 3, 2016 at 10:02:57 AM, Michael Emory Cerquoni
>>>> ([hidden email]) wrote:
>>>>
>>>> semantics, whatever the limitation is OpenSimulator can't update the
>>>> viewer with more than about 1000 objects, I do all of my tests locally on
>>>> 1000Mbit network, so if thats not enough what is? maybe I need 10TB network?
>>>>
>>>> Not semantics, accuracy matters when you’re placing blame on the wrong
>>>> components. The fact that you even see objects rubberbanding is enough to
>>>> know the viewer is capable of rendering those scenes. It’s trying to predict
>>>> where that object is going when it hasn’t received that object’s next
>>>> update. I can rez 3,500 objects in Second Life before seeing this behavior.
>>>> It’s far lower in OpenSim because the HTTP/UDP server is crap. Convenient,
>>>> but none-the-less crap under load.
>>>>
>>>> Naturally, you aren’t going to see people rezzing 3,500 balls and
>>>> dropping them in a real world scenario, but you may have 10,000 physical but
>>>> not actively thrown around objects in a scene, and bullet sim is less than
>>>> happy when this happens.
>>>>
>>>> --
>>>> Cinder Roxley
>>>> Sent with Airmail
>>>>
>>>> _______________________________________________
>>>> Opensim-dev mailing list
>>>> [hidden email]
>>>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>>>
>>>
>>>
>>>
>>> --
>>> Michael Emory Cerquoni
>>
>>
>>
>>
>> --
>> Michael Emory Cerquoni
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> [hidden email]
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>
>
> _______________________________________________
> Opensim-dev mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>



--
Michael Emory Cerquoni
_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Frans
I want to suggest you also test with 15 or so actual avatars logged in. I would be very interested to see if everything looks smooth. 

A couple years back in Second Life we made AI fish that would swim and school around using physics. We had hundreds of them out and it looked and worked great, with just us 3 developers logged in to the sim. When we brought in about a dozen students on very plain avatars did things suddenly become much different, the fish where rubber banding all over the place. 

The sim statistics didn't change, and when we did some extra test we saw the fish where actually where they where supposed to be, but we just weren't seeing them in the correct place. We came to a similar conclusion as Micheal,  the simulator just wasn't able to sent all the updates to all the avatars quick enough.

This being different technology, I would love to see how it handles with hundreds or thousands of physical objects moving around, sending object updates to a small class worth of avatars logged in.

Regards. 

On Wed, Feb 3, 2016 at 9:49 PM, Michael Emory Cerquoni <[hidden email]> wrote:
Sure, OpenSimulator like many server applications, like MySQL or
Apache are not configured for maximum performance out of the box, the
default settings are chosen to allow the broadest range of hardware to
run a quick test to see if OpenSimulator can work for you or not.
Personally I think all Physics engines should be run on their own
thread, having the physics engine share a thread with the heartbeat
loop is a bad idea and will cause performance decay almost the instant
any kind of stress is put on the chosen physics engine and if you
notice in my video the Sim FPS never budges from 55fps while Physics
takes a real beating, even so with BulletSim set to use its own
thread, its still only a single thread, if we can resolve the major
issues with sending so many updates to a viewer either by new
protocols or fixing the OpenSimulator HTTP server, or a completely new
viewer technology, improving physics beyond this to say
multi-threading or GPU accelerated physics seems like it won't be as
beneficial as we all hope it would.

On Wed, Feb 3, 2016 at 3:28 PM, Sean M <[hidden email]> wrote:
> Thank you Michael for your comments.
>
> The preliminary data that I shared earlier was generated from default
> settings across the different engines. The MOSES Team's ongoing and upcoming
> tests will analyze the impact of different configurations between the three
> engines.
>
> Because OpenSim can be executed on a wide range of platforms to satisfy
> diverse use-cases, thorough and exhaustive testing can be difficult for just
> the small MOSES Team. Therefore, I hope you and other members of the
> community can take the time to deeply analyze our contribution and provide
> quality feedback upon final release. With your help, others can make the
> educated determination if adopting and enabling PhysX is right for their
> sims.
>
> All the best,
> Sean Mondesire
> MOSES Team
>
> On Wed, Feb 3, 2016 at 1:57 PM, Michael Emory Cerquoni
> <[hidden email]> wrote:
>>
>> Here is a quick video I made just now with 10k physical spheres, its a bit
>> slow its hard to render that much and record at the same time, but you can
>> see BulletSim does quite well considering what is going on and its far
>> beyond what is shown in the chart for BulletSim.
>>
>> https://www.youtube.com/watch?v=0RBpDDEAg_o&feature=youtu.be
>>
>> On Wed, Feb 3, 2016 at 12:20 PM, Michael Emory Cerquoni
>> <[hidden email]> wrote:
>>>
>>> I totally agree, my entire point was that there are much lower
>>> performance issues than the physics engine, doesn't matter if the physics
>>> engine can handle 100,000 objects or not opensimulator can not adequately
>>> update the viewer, very much probably because of the HTTP server, totally
>>> agree, if my wording was misleading I apologize.  I however do not agree
>>> with the assessment being made about bulletsim, I have seen much higher
>>> numbers than what is being shown here, I would like to see another run added
>>> to these results with BulletSim configured to run in its own thread and not
>>> the main simulator heartbeat loop, you would see much different results I
>>> suspect, If anyone needs to see a actual demonstration of a simulator with
>>> 10's of 1000's of physical objects in BulletSim i can certainly demonstrate
>>> it.
>>>
>>> On Wed, Feb 3, 2016 at 12:12 PM, Cinder Roxley <[hidden email]>
>>> wrote:
>>>>
>>>> On February 3, 2016 at 10:02:57 AM, Michael Emory Cerquoni
>>>> ([hidden email]) wrote:
>>>>
>>>> semantics, whatever the limitation is OpenSimulator can't update the
>>>> viewer with more than about 1000 objects, I do all of my tests locally on
>>>> 1000Mbit network, so if thats not enough what is? maybe I need 10TB network?
>>>>
>>>> Not semantics, accuracy matters when you’re placing blame on the wrong
>>>> components. The fact that you even see objects rubberbanding is enough to
>>>> know the viewer is capable of rendering those scenes. It’s trying to predict
>>>> where that object is going when it hasn’t received that object’s next
>>>> update. I can rez 3,500 objects in Second Life before seeing this behavior.
>>>> It’s far lower in OpenSim because the HTTP/UDP server is crap. Convenient,
>>>> but none-the-less crap under load.
>>>>
>>>> Naturally, you aren’t going to see people rezzing 3,500 balls and
>>>> dropping them in a real world scenario, but you may have 10,000 physical but
>>>> not actively thrown around objects in a scene, and bullet sim is less than
>>>> happy when this happens.
>>>>
>>>> --
>>>> Cinder Roxley
>>>> Sent with Airmail
>>>>
>>>> _______________________________________________
>>>> Opensim-dev mailing list
>>>> [hidden email]
>>>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>>>
>>>
>>>
>>>
>>> --
>>> Michael Emory Cerquoni
>>
>>
>>
>>
>> --
>> Michael Emory Cerquoni
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> [hidden email]
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>
>
> _______________________________________________
> Opensim-dev mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>



--
Michael Emory Cerquoni
_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev



--
Jeroen Frans
Virtual World Technology Specialist @ http://VesuviusGroup.com
Second Life: Frans Charming
blog about SL @ http://secondslog.blogspot.com

"The best way to predict the future is to invent it." Alan Kay

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PhysX vs. BulletSim vs. ODE

Sean M
Thank you for the suggestion Frans. I share your view that users should be logged in for visual confirmation that everything looks smooth and to test the dynamics avatars bring the sim.

We have conducted several virtual meetings during the MOSES office hours with PhysX enabled and approximately 13 people. These meetings have given the MOSES community members an early chance to interact with the PhysX enabled environment and provide valuable feedback. The biggest improvement has been noticed with multiple, large (truck-sized) physical mesh objects, where previous tests with BulletSim have led to our regions to go unresponsive or crash. Observed in our informal mesh object testing, we no longer have the same issues with PhysX. Upcoming formal testing is scheduled to fairly and accurately gauge if there are any performance differences between BulletSim and PhysX.

Best regards,
Sean Mondesire
MOSES Team

On Wed, Feb 3, 2016 at 3:58 PM, Frans <[hidden email]> wrote:
I want to suggest you also test with 15 or so actual avatars logged in. I would be very interested to see if everything looks smooth. 

A couple years back in Second Life we made AI fish that would swim and school around using physics. We had hundreds of them out and it looked and worked great, with just us 3 developers logged in to the sim. When we brought in about a dozen students on very plain avatars did things suddenly become much different, the fish where rubber banding all over the place. 

The sim statistics didn't change, and when we did some extra test we saw the fish where actually where they where supposed to be, but we just weren't seeing them in the correct place. We came to a similar conclusion as Micheal,  the simulator just wasn't able to sent all the updates to all the avatars quick enough.

This being different technology, I would love to see how it handles with hundreds or thousands of physical objects moving around, sending object updates to a small class worth of avatars logged in.

Regards. 

On Wed, Feb 3, 2016 at 9:49 PM, Michael Emory Cerquoni <[hidden email]> wrote:
Sure, OpenSimulator like many server applications, like MySQL or
Apache are not configured for maximum performance out of the box, the
default settings are chosen to allow the broadest range of hardware to
run a quick test to see if OpenSimulator can work for you or not.
Personally I think all Physics engines should be run on their own
thread, having the physics engine share a thread with the heartbeat
loop is a bad idea and will cause performance decay almost the instant
any kind of stress is put on the chosen physics engine and if you
notice in my video the Sim FPS never budges from 55fps while Physics
takes a real beating, even so with BulletSim set to use its own
thread, its still only a single thread, if we can resolve the major
issues with sending so many updates to a viewer either by new
protocols or fixing the OpenSimulator HTTP server, or a completely new
viewer technology, improving physics beyond this to say
multi-threading or GPU accelerated physics seems like it won't be as
beneficial as we all hope it would.

On Wed, Feb 3, 2016 at 3:28 PM, Sean M <[hidden email]> wrote:
> Thank you Michael for your comments.
>
> The preliminary data that I shared earlier was generated from default
> settings across the different engines. The MOSES Team's ongoing and upcoming
> tests will analyze the impact of different configurations between the three
> engines.
>
> Because OpenSim can be executed on a wide range of platforms to satisfy
> diverse use-cases, thorough and exhaustive testing can be difficult for just
> the small MOSES Team. Therefore, I hope you and other members of the
> community can take the time to deeply analyze our contribution and provide
> quality feedback upon final release. With your help, others can make the
> educated determination if adopting and enabling PhysX is right for their
> sims.
>
> All the best,
> Sean Mondesire
> MOSES Team
>
> On Wed, Feb 3, 2016 at 1:57 PM, Michael Emory Cerquoni
> <[hidden email]> wrote:
>>
>> Here is a quick video I made just now with 10k physical spheres, its a bit
>> slow its hard to render that much and record at the same time, but you can
>> see BulletSim does quite well considering what is going on and its far
>> beyond what is shown in the chart for BulletSim.
>>
>> https://www.youtube.com/watch?v=0RBpDDEAg_o&feature=youtu.be
>>
>> On Wed, Feb 3, 2016 at 12:20 PM, Michael Emory Cerquoni
>> <[hidden email]> wrote:
>>>
>>> I totally agree, my entire point was that there are much lower
>>> performance issues than the physics engine, doesn't matter if the physics
>>> engine can handle 100,000 objects or not opensimulator can not adequately
>>> update the viewer, very much probably because of the HTTP server, totally
>>> agree, if my wording was misleading I apologize.  I however do not agree
>>> with the assessment being made about bulletsim, I have seen much higher
>>> numbers than what is being shown here, I would like to see another run added
>>> to these results with BulletSim configured to run in its own thread and not
>>> the main simulator heartbeat loop, you would see much different results I
>>> suspect, If anyone needs to see a actual demonstration of a simulator with
>>> 10's of 1000's of physical objects in BulletSim i can certainly demonstrate
>>> it.
>>>
>>> On Wed, Feb 3, 2016 at 12:12 PM, Cinder Roxley <[hidden email]>
>>> wrote:
>>>>
>>>> On February 3, 2016 at 10:02:57 AM, Michael Emory Cerquoni
>>>> ([hidden email]) wrote:
>>>>
>>>> semantics, whatever the limitation is OpenSimulator can't update the
>>>> viewer with more than about 1000 objects, I do all of my tests locally on
>>>> 1000Mbit network, so if thats not enough what is? maybe I need 10TB network?
>>>>
>>>> Not semantics, accuracy matters when you’re placing blame on the wrong
>>>> components. The fact that you even see objects rubberbanding is enough to
>>>> know the viewer is capable of rendering those scenes. It’s trying to predict
>>>> where that object is going when it hasn’t received that object’s next
>>>> update. I can rez 3,500 objects in Second Life before seeing this behavior.
>>>> It’s far lower in OpenSim because the HTTP/UDP server is crap. Convenient,
>>>> but none-the-less crap under load.
>>>>
>>>> Naturally, you aren’t going to see people rezzing 3,500 balls and
>>>> dropping them in a real world scenario, but you may have 10,000 physical but
>>>> not actively thrown around objects in a scene, and bullet sim is less than
>>>> happy when this happens.
>>>>
>>>> --
>>>> Cinder Roxley
>>>> Sent with Airmail
>>>>
>>>> _______________________________________________
>>>> Opensim-dev mailing list
>>>> [hidden email]
>>>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>>>
>>>
>>>
>>>
>>> --
>>> Michael Emory Cerquoni
>>
>>
>>
>>
>> --
>> Michael Emory Cerquoni
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> [hidden email]
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>
>
> _______________________________________________
> Opensim-dev mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>



--
Michael Emory Cerquoni
_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev



--
Jeroen Frans
Virtual World Technology Specialist @ http://VesuviusGroup.com
Second Life: Frans Charming
blog about SL @ http://secondslog.blogspot.com

"The best way to predict the future is to invent it." Alan Kay

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev



_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Non-DoD Source] Re: PhysX vs. BulletSim vs. ODE

Maxwell, Douglas CIV USARMY RDECOM ARL (US)
In reply to this post by Michael Emory Cerquoni

Thank you for your feedback, Michael.  As you know, the OpenSimulator is a very complex system.  It is very important for us to isolate as many variables as possible to present a responsible comparison analysis of the three engines.  Sean presented the performance of the engines with the OpenSim configured as "stock".

 

You are absolutely correct, using the "UseSeparatePhysicsThread" flag does improve performance.  It is just one of the variables we are examining to determine the affect of the physics engine on the overall system.  Sean was reporting that there were significant increases in performance during the baseline testing.  By carefully and systematically changing the variables in the system, we can determine which variables have the most impact differentiation from the baseline as well as what affect each variable has on each engine.

 

I realize this looks like tedious work, and it is.  However this approach allows us to profile and examine the code so that meaningful changes can be made for the better (not accidentally stumbling upon a combination of variables).    As an Enterprise level user, we need the ability to predict how the simulator will behave under different loads so we can plan and provision for different usage scenarios. 

 

In the very near future we will be releasing our distributed PhysX code as well.  This functionality will allow you to dedicate a separate server to the physics engine and scale it vertically as appropriate.  We can discuss the implications for scaled performance as well as tradeoffs in network performance at that time.

 

Lastly, we have specific needs that BulletSim cannot accommodate.  The decision to choose PhysX for integration was done deliberately.  If you would like to join us at the MOSES office hours or contact me directly, we can discuss in detail.

 

Have a great weekend.  v/r -doug

 

 

 

Douglas Maxwell, Ph.D.
Science and Technology Manager
Virtual World Strategic Applications
U.S. Army Research Lab
Human Research & Engineering Directorate
(c) <a tabindex="0" style="WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; COLOR: rgb(17,85,204); FONT: 13px arial,sans-serif; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px" href="tel:%28407%29%20242-0209" target="" value="&#43;14072420209">(407) 242-0209

From: [hidden email] [[hidden email]] on behalf of Michael Emory Cerquoni [[hidden email]]
Sent: Wednesday, February 03, 2016 11:10 AM
To: [hidden email]
Subject: [Non-DoD Source] Re: [Opensim-dev] PhysX vs. BulletSim vs. ODE

All active links contained in this email were disabled. Please verify the identity of the sender, and confirm the authenticity of all links contained within the message prior to copying and pasting the address to a Web browser.




I have had over 100,000 physical spheres in Bulletsim without a crash and was still able to log in, move around and erase all the objects and have performance go back to normal, you need to enable running it in its own Thread, to achieve this level of performance. to enable this feature in the [BulletSim] section of OpenSim.ini add :
UseSeparatePhysicsThread = true

On Wed, Feb 3, 2016 at 10:56 AM, Sean M <[hidden email] < Caution-mailto:[hidden email] > > wrote:
Greetings,

The MOSES Team has been working on integrating NVIDIA's PhysX physics engine into OpenSim. Once complete, this integration will give OpenSim grid administrators the option of selecting the new engine for their own worlds. 

Prior to releasing the complete integration, the team has begun extensively testing and analyzing the engine's performance. We are pleased to report that PhysX significantly improves OpenSim's ability to support more physical objects than BulletSim and ODE. Our analysis ran under controlled and repeated testing (30 independent OpenSim executions per engine) that isolated physics engine related variables. Under these conditions, PhysX supported 86% more physical objects than BulletSim (the OpenSim default physics engine) before the simulation's performance starts to noticeable degrade. More specifically, before dropping below 9 simulation frames per second (SimFPS), PhysX supported 3,300 physical objects (AtvPrm), BulletSim 1,800, and ODE 200. The reported SimFPS did not use the correction factor; therefore, the highest frame rate was 11.33 frames per second. Attached is a graph of the performance of the three physics engines as 5,000 physical objects were generated in the simulation. All experiment details will be available in the 2016 proceedings of MODSIM World.

Again, we are very pleased with the result and believe everyone will benefit from the effort. An announcement will be made in a few days to indicate when the final integration code will be available on the MOSES public GitHub.

Thank you,
Sean Mondesire
MOSES Team

Inline image 1

_______________________________________________
Opensim-dev mailing list
[hidden email] < Caution-mailto:[hidden email] > 
Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev < Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev > 




--
Michael Emory Cerquoni

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Non-DoD Source] Re: PhysX vs. BulletSim vs. ODE

Zadark Portal
Hello Douglas
Interesting progress report. Is there any timeline available for if or when others can configure and profile the system?
Zadark

On 5 February 2016 at 18:00, Maxwell, Douglas CIV USARMY RDECOM ARL (US) <[hidden email]> wrote:

Thank you for your feedback, Michael.  As you know, the OpenSimulator is a very complex system.  It is very important for us to isolate as many variables as possible to present a responsible comparison analysis of the three engines.  Sean presented the performance of the engines with the OpenSim configured as "stock".

 

You are absolutely correct, using the "UseSeparatePhysicsThread" flag does improve performance.  It is just one of the variables we are examining to determine the affect of the physics engine on the overall system.  Sean was reporting that there were significant increases in performance during the baseline testing.  By carefully and systematically changing the variables in the system, we can determine which variables have the most impact differentiation from the baseline as well as what affect each variable has on each engine.

 

I realize this looks like tedious work, and it is.  However this approach allows us to profile and examine the code so that meaningful changes can be made for the better (not accidentally stumbling upon a combination of variables).    As an Enterprise level user, we need the ability to predict how the simulator will behave under different loads so we can plan and provision for different usage scenarios. 

 

In the very near future we will be releasing our distributed PhysX code as well.  This functionality will allow you to dedicate a separate server to the physics engine and scale it vertically as appropriate.  We can discuss the implications for scaled performance as well as tradeoffs in network performance at that time.

 

Lastly, we have specific needs that BulletSim cannot accommodate.  The decision to choose PhysX for integration was done deliberately.  If you would like to join us at the MOSES office hours or contact me directly, we can discuss in detail.

 

Have a great weekend.  v/r -doug

 

 

 

Douglas Maxwell, Ph.D.
Science and Technology Manager
Virtual World Strategic Applications
U.S. Army Research Lab
Human Research & Engineering Directorate
(c) <a style="WHITE-SPACE:normal;WORD-SPACING:0px;TEXT-TRANSFORM:none;COLOR:rgb(17,85,204);FONT:13px arial,sans-serif;LETTER-SPACING:normal;BACKGROUND-COLOR:rgb(255,255,255);TEXT-INDENT:0px" href="tel:%28407%29%20242-0209" value="+14072420209" target="_blank">(407) 242-0209

From: [hidden email] [[hidden email]] on behalf of Michael Emory Cerquoni [[hidden email]]
Sent: Wednesday, February 03, 2016 11:10 AM
To: [hidden email]
Subject: [Non-DoD Source] Re: [Opensim-dev] PhysX vs. BulletSim vs. ODE

All active links contained in this email were disabled. Please verify the identity of the sender, and confirm the authenticity of all links contained within the message prior to copying and pasting the address to a Web browser.




I have had over 100,000 physical spheres in Bulletsim without a crash and was still able to log in, move around and erase all the objects and have performance go back to normal, you need to enable running it in its own Thread, to achieve this level of performance. to enable this feature in the [BulletSim] section of OpenSim.ini add :
UseSeparatePhysicsThread = true

On Wed, Feb 3, 2016 at 10:56 AM, Sean M <[hidden email] < Caution-mailto:[hidden email] > > wrote:
Greetings,

The MOSES Team has been working on integrating NVIDIA's PhysX physics engine into OpenSim. Once complete, this integration will give OpenSim grid administrators the option of selecting the new engine for their own worlds. 

Prior to releasing the complete integration, the team has begun extensively testing and analyzing the engine's performance. We are pleased to report that PhysX significantly improves OpenSim's ability to support more physical objects than BulletSim and ODE. Our analysis ran under controlled and repeated testing (30 independent OpenSim executions per engine) that isolated physics engine related variables. Under these conditions, PhysX supported 86% more physical objects than BulletSim (the OpenSim default physics engine) before the simulation's performance starts to noticeable degrade. More specifically, before dropping below 9 simulation frames per second (SimFPS), PhysX supported 3,300 physical objects (AtvPrm), BulletSim 1,800, and ODE 200. The reported SimFPS did not use the correction factor; therefore, the highest frame rate was 11.33 frames per second. Attached is a graph of the performance of the three physics engines as 5,000 physical objects were generated in the simulation. All experiment details will be available in the 2016 proceedings of MODSIM World.

Again, we are very pleased with the result and believe everyone will benefit from the effort. An announcement will be made in a few days to indicate when the final integration code will be available on the MOSES public GitHub.

Thank you,
Sean Mondesire
MOSES Team

Inline image 1

_______________________________________________
Opensim-dev mailing list
[hidden email] < Caution-mailto:[hidden email] > 
Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev < Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev > 




--
Michael Emory Cerquoni

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev



_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Non-DoD Source] Re: PhysX vs. BulletSim vs. ODE

David Saunders-2
I am very interested in testing out the physics system.  But the big question is, is there any requirements past the basic opensim requirements to have it working on another grid?

On Fri, Feb 5, 2016 at 1:27 PM, Zadark Portal <[hidden email]> wrote:
Hello Douglas
Interesting progress report. Is there any timeline available for if or when others can configure and profile the system?
Zadark

On 5 February 2016 at 18:00, Maxwell, Douglas CIV USARMY RDECOM ARL (US) <[hidden email]> wrote:

Thank you for your feedback, Michael.  As you know, the OpenSimulator is a very complex system.  It is very important for us to isolate as many variables as possible to present a responsible comparison analysis of the three engines.  Sean presented the performance of the engines with the OpenSim configured as "stock".

 

You are absolutely correct, using the "UseSeparatePhysicsThread" flag does improve performance.  It is just one of the variables we are examining to determine the affect of the physics engine on the overall system.  Sean was reporting that there were significant increases in performance during the baseline testing.  By carefully and systematically changing the variables in the system, we can determine which variables have the most impact differentiation from the baseline as well as what affect each variable has on each engine.

 

I realize this looks like tedious work, and it is.  However this approach allows us to profile and examine the code so that meaningful changes can be made for the better (not accidentally stumbling upon a combination of variables).    As an Enterprise level user, we need the ability to predict how the simulator will behave under different loads so we can plan and provision for different usage scenarios. 

 

In the very near future we will be releasing our distributed PhysX code as well.  This functionality will allow you to dedicate a separate server to the physics engine and scale it vertically as appropriate.  We can discuss the implications for scaled performance as well as tradeoffs in network performance at that time.

 

Lastly, we have specific needs that BulletSim cannot accommodate.  The decision to choose PhysX for integration was done deliberately.  If you would like to join us at the MOSES office hours or contact me directly, we can discuss in detail.

 

Have a great weekend.  v/r -doug

 

 

 

Douglas Maxwell, Ph.D.
Science and Technology Manager
Virtual World Strategic Applications
U.S. Army Research Lab
Human Research & Engineering Directorate
(c) <a style="WHITE-SPACE:normal;WORD-SPACING:0px;TEXT-TRANSFORM:none;COLOR:rgb(17,85,204);FONT:13px arial,sans-serif;LETTER-SPACING:normal;BACKGROUND-COLOR:rgb(255,255,255);TEXT-INDENT:0px" href="tel:%28407%29%20242-0209" value="+14072420209" target="_blank">(407) 242-0209

From: [hidden email] [[hidden email]] on behalf of Michael Emory Cerquoni [[hidden email]]
Sent: Wednesday, February 03, 2016 11:10 AM
To: [hidden email]
Subject: [Non-DoD Source] Re: [Opensim-dev] PhysX vs. BulletSim vs. ODE

All active links contained in this email were disabled. Please verify the identity of the sender, and confirm the authenticity of all links contained within the message prior to copying and pasting the address to a Web browser.




I have had over 100,000 physical spheres in Bulletsim without a crash and was still able to log in, move around and erase all the objects and have performance go back to normal, you need to enable running it in its own Thread, to achieve this level of performance. to enable this feature in the [BulletSim] section of OpenSim.ini add :
UseSeparatePhysicsThread = true

On Wed, Feb 3, 2016 at 10:56 AM, Sean M <[hidden email] < Caution-mailto:[hidden email] > > wrote:
Greetings,

The MOSES Team has been working on integrating NVIDIA's PhysX physics engine into OpenSim. Once complete, this integration will give OpenSim grid administrators the option of selecting the new engine for their own worlds. 

Prior to releasing the complete integration, the team has begun extensively testing and analyzing the engine's performance. We are pleased to report that PhysX significantly improves OpenSim's ability to support more physical objects than BulletSim and ODE. Our analysis ran under controlled and repeated testing (30 independent OpenSim executions per engine) that isolated physics engine related variables. Under these conditions, PhysX supported 86% more physical objects than BulletSim (the OpenSim default physics engine) before the simulation's performance starts to noticeable degrade. More specifically, before dropping below 9 simulation frames per second (SimFPS), PhysX supported 3,300 physical objects (AtvPrm), BulletSim 1,800, and ODE 200. The reported SimFPS did not use the correction factor; therefore, the highest frame rate was 11.33 frames per second. Attached is a graph of the performance of the three physics engines as 5,000 physical objects were generated in the simulation. All experiment details will be available in the 2016 proceedings of MODSIM World.

Again, we are very pleased with the result and believe everyone will benefit from the effort. An announcement will be made in a few days to indicate when the final integration code will be available on the MOSES public GitHub.

Thank you,
Sean Mondesire
MOSES Team

Inline image 1

_______________________________________________
Opensim-dev mailing list
[hidden email] < Caution-mailto:[hidden email] > 
Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev < Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev > 




--
Michael Emory Cerquoni

_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev



_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev



_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Non-DoD Source] Re: PhysX vs. BulletSim vs. ODE (UNCLASSIFIED)

Maxwell, Douglas CIV USARMY RDECOM ARL (US)
Classification: UNCLASSIFIED
Caveats: NONE

I've gotten a lot of DM's on the subject of testing & evaluation.  We appreciate your interest in the work.

The MOSES project set up a public redmine site a while back for you to monitor our progress and download latest code.  You can find the wiki here:
https://redmine.militarymetaverse.org/projects/opensim-physx/wiki

and the files area here:
https://redmine.militarymetaverse.org/projects/opensim-physx/files

The latest stable version is 1.05, but the brave can jump into the beta 1.1.  We also release our test scenarios as OAR files and the software design spec.

Please keep in mind that the chaotic nature of the OpenSimulator development process has prevented us from maintaining lock-step compatibility with the latest OpenSim code base.  Please review documentation and work from our GitHub OpenSim code base for your testing.  Should someone wish to volunteer to integrate or maintain a version of our PhysX module that is compatible with the latest OpenSim code, we would welcome the collaboration.

MOSES GitHub:  https://github.com/M-O-S-E-S

v/r -doug

Douglas Maxwell, Ph.D.
Science and Technology Manager
Virtual World Strategic Applications
U.S. Army Research Lab
Simulation & Training Technology Center (STTC)
(c) (407) 242-0209



-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of David Saunders
Sent: Friday, February 05, 2016 8:08 PM
To: opensim-dev
Subject: Re: [Opensim-dev] [Non-DoD Source] Re: PhysX vs. BulletSim vs. ODE

All active links contained in this email were disabled. Please verify the identity of the sender, and confirm the authenticity of all links contained within the message prior to copying and pasting the address to a Web browser.


________________________________



I am very interested in testing out the physics system.  But the big question is, is there any requirements past the basic opensim requirements to have it working on another grid?

On Fri, Feb 5, 2016 at 1:27 PM, Zadark Portal <[hidden email] < Caution-mailto:[hidden email] > > wrote:


        Hello Douglas
        Interesting progress report. Is there any timeline available for if or when others can configure and profile the system?
        Zadark

        On 5 February 2016 at 18:00, Maxwell, Douglas CIV USARMY RDECOM ARL (US) <[hidden email] < Caution-mailto:[hidden email] > > wrote:


                Thank you for your feedback, Michael.  As you know, the OpenSimulator is a very complex system.  It is very important for us to isolate as many variables as possible to present a responsible comparison analysis of the three engines.  Sean presented the performance of the engines with the OpenSim configured as "stock".



                You are absolutely correct, using the "UseSeparatePhysicsThread" flag does improve performance.  It is just one of the variables we are examining to determine the affect of the physics engine on the overall system.  Sean was reporting that there were significant increases in performance during the baseline testing.  By carefully and systematically changing the variables in the system, we can determine which variables have the most impact differentiation from the baseline as well as what affect each variable has on each engine.



                I realize this looks like tedious work, and it is.  However this approach allows us to profile and examine the code so that meaningful changes can be made for the better (not accidentally stumbling upon a combination of variables).    As an Enterprise level user, we need the ability to predict how the simulator will behave under different loads so we can plan and provision for different usage scenarios.



                In the very near future we will be releasing our distributed PhysX code as well.  This functionality will allow you to dedicate a separate server to the physics engine and scale it vertically as appropriate.  We can discuss the implications for scaled performance as well as tradeoffs in network performance at that time.



                Lastly, we have specific needs that BulletSim cannot accommodate.  The decision to choose PhysX for integration was done deliberately.  If you would like to join us at the MOSES office hours or contact me directly, we can discuss in detail.



                Have a great weekend.  v/r -doug







                Douglas Maxwell, Ph.D.
                Science and Technology Manager
                Virtual World Strategic Applications
                U.S. Army Research Lab
                Human Research & Engineering Directorate
                (c) (407) 242-0209 < tel:%28407%29%20242-0209 > ________________________________

                From: [hidden email] < Caution-mailto:[hidden email] >  [[hidden email] < Caution-mailto:[hidden email] > ] on behalf of Michael Emory Cerquoni [[hidden email] < Caution-mailto:[hidden email] > ]
                Sent: Wednesday, February 03, 2016 11:10 AM
                To: [hidden email] < Caution-mailto:[hidden email] >
                Subject: [Non-DoD Source] Re: [Opensim-dev] PhysX vs. BulletSim vs. ODE


                All active links contained in this email were disabled. Please verify the identity of the sender, and confirm the authenticity of all links contained within the message prior to copying and pasting the address to a Web browser.


________________________________




                I have had over 100,000 physical spheres in Bulletsim without a crash and was still able to log in, move around and erase all the objects and have performance go back to normal, you need to enable running it in its own Thread, to achieve this level of performance. to enable this feature in the [BulletSim] section of OpenSim.ini add :

                UseSeparatePhysicsThread = true

                On Wed, Feb 3, 2016 at 10:56 AM, Sean M <[hidden email] < Caution-mailto:[hidden email] >  < Caution-Caution-mailto:[hidden email] < Caution-mailto:[hidden email] >  > > wrote:



                        Greetings,

                        The MOSES Team has been working on integrating NVIDIA's PhysX physics engine into OpenSim. Once complete, this integration will give OpenSim grid administrators the option of selecting the new engine for their own worlds.

                        Prior to releasing the complete integration, the team has begun extensively testing and analyzing the engine's performance. We are pleased to report that PhysX significantly improves OpenSim's ability to support more physical objects than BulletSim and ODE. Our analysis ran under controlled and repeated testing (30 independent OpenSim executions per engine) that isolated physics engine related variables. Under these conditions, PhysX supported 86% more physical objects than BulletSim (the OpenSim default physics engine) before the simulation's performance starts to noticeable degrade. More specifically, before dropping below 9 simulation frames per second (SimFPS), PhysX supported 3,300 physical objects (AtvPrm), BulletSim 1,800, and ODE 200. The reported SimFPS did not use the correction factor; therefore, the highest frame rate was 11.33 frames per second. Attached is a graph of the performance of the three physics engines as 5,000 physical objects w
 ere generated in the simulation. All experiment details will be available in the 2016 proceedings of MODSIM World.

                        Again, we are very pleased with the result and believe everyone will benefit from the effort. An announcement will be made in a few days to indicate when the final integration code will be available on the MOSES public GitHub.

                        Thank you,
                        Sean Mondesire
                        MOSES Team

                        Inline image 1


                        _______________________________________________
                        Opensim-dev mailing list
                        [hidden email] < Caution-mailto:[hidden email] >  < Caution-Caution-mailto:[hidden email] < Caution-mailto:[hidden email] >  >
                        Caution-Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev < Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev >  < Caution-Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev < Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev >  >







                --

                Michael Emory Cerquoni

                _______________________________________________
                Opensim-dev mailing list
                [hidden email] < Caution-mailto:[hidden email] >

                Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev < Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev >





        _______________________________________________
        Opensim-dev mailing list
        [hidden email] < Caution-mailto:[hidden email] >
        Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev < Caution-http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev >





Classification: UNCLASSIFIED
Caveats: NONE


_______________________________________________
Opensim-dev mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
Loading...