| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
reporting on logout, rather than stopping clearing their collision events.
This occurred in b18c8c8 (Thu May 17 2012).
This was a cause of very occasional race conditions and likely memory leakage as clients came and went from the region.
|
|
|
|
|
| |
These will act as a sanity check with the main scene stats, to show that physics scene entities are being managed properly.
Total prims will not match scene total prims since physics total does not include phantom prims
|
|
|
|
| |
possible. All subsequent code is only relevant if there are contacts.
|
|
|
|
| |
native spaces or geom collision code
|
|
|
|
| |
millisecond optional stats
|
| |
|
|
|
|
| |
Unnecessary since this has now been broken down into space collisions and geom collisions
|
|
|
|
| |
listeners in physics frames
|
| |
|
| |
|
|
|
|
| |
physics stat
|
|
|
|
| |
and geom collision stats
|
|
|
|
| |
contacts per collision and this is what is actually being measured.
|
|
|
|
|
|
| |
standing on a prim.
This has already been added earlier on in the method.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
the first 25 that had non-zero collision scores.
Also zeros collisions scores on all prims after report collection, not just the top 25.
As before, this collision scores are only reset after a report is requested, which may give unrealistic numbers on the first request.
So to see more realistic scores, ignore the first report and then refresh the request after a couple of seconds or so.
|
|
|
|
|
|
|
|
|
|
|
| |
arbitrary stats.
If active, the physics module can return arbitrary stat counters that can be seen via the MonitoringModule
(http://opensimulator.org/wiki/Monitoring_Module)
This is only active in OdeScene if collect_stats = true in [ODEPhysicsSettings].
This patch allows OdeScene to collect elapsed time information for calls to the ODE native collision methods to assess what proportion of time this takes compared to total physics processing.
This data is returned as ODENativeCollisionFrameMS in the monitoring module, updated every 3 seconds.
The performance effect of collecting stats is probably extremely minor, dwarfed by the rest of the physics code.
|
|
|
|
| |
some local variables in line with code conventions. Add commented out EQG log lines for future use.
|
|
|
|
|
|
|
|
| |
unsubscribe from collisions, in order to avoid a race condition.
Since this is done directly from ScenePresence, it can lead to a race condition with the simulator loop.
There's no real point doing it anyway since the clear will be done very shortly afterwards by the simulate loop and either there are no events (for a new avatar) or events don't matter (for a departing avatar).
This matches existing behaviour in OdePrim
|
|
|
|
|
|
|
|
| |
from ODEPrim.SetGeom.
This occurred in 7a574be3fd from Sat 21 Apr 2012.
This should fix collision detection.
Mnay thanks to tglion for the spot and the fix in http://opensimulator.org/mantis/view.php?id=5988
|
| |
|
|
|
|
|
|
|
|
| |
rather than setting phantom.
This was an oversight when removing some race conditions from PhysicsActor setting recently.
Regression tests extended to probe this code path.
Extending regression tests required implementation of a BasicPhysicsPrim (there was none before). However, BasicPhysics plugin is still of no current practical use other than to fill in as a component for other parts of regression testing.
|
|
|
|
| |
disableBody() sets Body == IntPtr.Zero on all code paths.
|
| |
|
|
|
|
|
|
| |
prim_geom == IntPtr.Zero only before a new add prim taint is processed (which is the first taint) or in operations such as scale change which are done in taint or under lock.
Therefore, we can remove these checks which were not consistently applied anyway.
If there is a genuine problem, better to see it quickly in a NullReferenceException than hide the bug.
|
|
|
|
|
|
|
| |
position as well as the body position
This is necessary to stop the moved prim snapping back to the original position on deselection if moved only once
This resolves http://opensimulator.org/mantis/view.php?id=5966
|
|
|
|
|
|
|
| |
It seems that ODE calls the avatar collision handling routine even
if there are no collisions. This causes the animation to be updated.
So, for instance, going from HOVER to FLY is caused by the physics engine
calling the collision routine each frame with 0 collisions.
|
|
|
|
| |
makes mistakes)
|
|\
| |
| |
| |
| |
| |
| | |
ssh://island.sciencesim.com/home/sceneapi/radams1/bs-opensim into bulletsim1
Conflicts:
OpenSim/Region/Physics/BulletSPlugin/BSScene.cs
|
| |
| |
| |
| | |
(there is still confusion in the rest of OpenSim). Enhance some debug statements to include the object ID.
|
| |
| |
| |
| | |
friction and restitution runtime settable parameters.
|
| |
| |
| |
| | |
buoyancy for flying. Tweek avatar default friction and resititution
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
False to True. It seems that collisions don't happen well when it is False (things fall through terrain).
|
| | |
|
| |
| |
| |
| | |
OpenSimDefaults.ini and the code.
|
| |
| |
| |
| | |
(there is still confusion in the rest of OpenSim). Enhance some debug statements to include the object ID.
|
| |
| |
| |
| | |
friction and restitution runtime settable parameters.
|
| |
| |
| |
| | |
buoyancy for flying. Tweek avatar default friction and resititution
|
| | |
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
(sqrt(2)) rather than doing it multiple times on every move.
|
| |
|
|
|
|
|
|
| |
the same time.
Have to lock m_MeshToTriMeshMap as property is static and with more than one region two scene loops could try to manipulate at the same time.
|
|
|
|
|
|
|
|
| |
On the first frame, all startup scene objects are added to the physics scene.
This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame.
This commit also slightly changes the behaviour of timeout reporting.
Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check.
Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
|