diff options
author | Melanie | 2009-09-02 03:33:31 +0100 |
---|---|---|
committer | Melanie | 2009-09-02 03:33:31 +0100 |
commit | f32de6fe885915b11fd349c0d8f3e6a98d4dd2bf (patch) | |
tree | 231027018a6e1dda86352e88a472f54c7786b5e1 /OpenSim/Region | |
parent | Merge branch 'master' of ssh://MyConnection/var/git/opensim (diff) | |
download | opensim-SC-f32de6fe885915b11fd349c0d8f3e6a98d4dd2bf.zip opensim-SC-f32de6fe885915b11fd349c0d8f3e6a98d4dd2bf.tar.gz opensim-SC-f32de6fe885915b11fd349c0d8f3e6a98d4dd2bf.tar.bz2 opensim-SC-f32de6fe885915b11fd349c0d8f3e6a98d4dd2bf.tar.xz |
Thank you, dslake, for a set of patches to improve OpenSim startup
and idle performance.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneGraph.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 10 |
6 files changed, 21 insertions, 12 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 33afc40..ec209ed 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -998,7 +998,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
998 | physicsMS2 = Environment.TickCount - physicsMS2; | 998 | physicsMS2 = Environment.TickCount - physicsMS2; |
999 | 999 | ||
1000 | if (m_frame % m_update_entitymovement == 0) | 1000 | if (m_frame % m_update_entitymovement == 0) |
1001 | m_sceneGraph.UpdateEntityMovement(); | 1001 | m_sceneGraph.UpdateScenePresenceMovement(); |
1002 | 1002 | ||
1003 | physicsMS = Environment.TickCount; | 1003 | physicsMS = Environment.TickCount; |
1004 | if ((m_frame % m_update_physics == 0) && m_physics_enabled) | 1004 | if ((m_frame % m_update_physics == 0) && m_physics_enabled) |
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index 3007598..48dea07 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs | |||
@@ -198,9 +198,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
198 | } | 198 | } |
199 | } | 199 | } |
200 | 200 | ||
201 | protected internal void UpdateEntityMovement() | 201 | protected internal void UpdateScenePresenceMovement() |
202 | { | 202 | { |
203 | List<EntityBase> moveEntities = GetEntities(); | 203 | List<ScenePresence> moveEntities = GetScenePresences(); |
204 | 204 | ||
205 | foreach (EntityBase entity in moveEntities) | 205 | foreach (EntityBase entity in moveEntities) |
206 | { | 206 | { |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index d72ed7d..5be074e 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1904,7 +1904,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1904 | //return; | 1904 | //return; |
1905 | //} | 1905 | //} |
1906 | 1906 | ||
1907 | if (Util.DistanceLessThan(lastPhysGroupPos, AbsolutePosition, 0.02) && UsePhysics) | 1907 | if (UsePhysics && Util.DistanceLessThan(lastPhysGroupPos, AbsolutePosition, 0.02)) |
1908 | { | 1908 | { |
1909 | m_rootPart.UpdateFlag = 1; | 1909 | m_rootPart.UpdateFlag = 1; |
1910 | lastPhysGroupPos = AbsolutePosition; | 1910 | lastPhysGroupPos = AbsolutePosition; |
@@ -1916,11 +1916,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1916 | 1916 | ||
1917 | checkAtTargets(); | 1917 | checkAtTargets(); |
1918 | 1918 | ||
1919 | if (((Math.Abs(lastPhysGroupRot.W - GroupRotation.W) > 0.1) | 1919 | if (UsePhysics && ((Math.Abs(lastPhysGroupRot.W - GroupRotation.W) > 0.1) |
1920 | || (Math.Abs(lastPhysGroupRot.X - GroupRotation.X) > 0.1) | 1920 | || (Math.Abs(lastPhysGroupRot.X - GroupRotation.X) > 0.1) |
1921 | || (Math.Abs(lastPhysGroupRot.Y - GroupRotation.Y) > 0.1) | 1921 | || (Math.Abs(lastPhysGroupRot.Y - GroupRotation.Y) > 0.1) |
1922 | || (Math.Abs(lastPhysGroupRot.Z - GroupRotation.Z) > 0.1)) | 1922 | || (Math.Abs(lastPhysGroupRot.Z - GroupRotation.Z) > 0.1))) |
1923 | && UsePhysics) | ||
1924 | { | 1923 | { |
1925 | m_rootPart.UpdateFlag = 1; | 1924 | m_rootPart.UpdateFlag = 1; |
1926 | 1925 | ||
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index 38df751..dd58a4e 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |||
@@ -223,6 +223,11 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
223 | set { m_localID = value; } | 223 | set { m_localID = value; } |
224 | } | 224 | } |
225 | 225 | ||
226 | public override int GetHashCode() | ||
227 | { | ||
228 | return (int)m_localID; | ||
229 | } | ||
230 | |||
226 | public override bool Grabbed | 231 | public override bool Grabbed |
227 | { | 232 | { |
228 | set { return; } | 233 | set { return; } |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index d0f77e6..673ae39 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -260,6 +260,11 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
260 | m_localID = value; } | 260 | m_localID = value; } |
261 | } | 261 | } |
262 | 262 | ||
263 | public override int GetHashCode() | ||
264 | { | ||
265 | return (int)m_localID; | ||
266 | } | ||
267 | |||
263 | public override bool Grabbed | 268 | public override bool Grabbed |
264 | { | 269 | { |
265 | set { return; } | 270 | set { return; } |
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 817cc22..e702d5e 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -235,11 +235,11 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
235 | private d.NearCallback nearCallback; | 235 | private d.NearCallback nearCallback; |
236 | public d.TriCallback triCallback; | 236 | public d.TriCallback triCallback; |
237 | public d.TriArrayCallback triArrayCallback; | 237 | public d.TriArrayCallback triArrayCallback; |
238 | private readonly List<OdeCharacter> _characters = new List<OdeCharacter>(); | 238 | private readonly HashSet<OdeCharacter> _characters = new HashSet<OdeCharacter>(); |
239 | private readonly List<OdePrim> _prims = new List<OdePrim>(); | 239 | private readonly HashSet<OdePrim> _prims = new HashSet<OdePrim>(); |
240 | private readonly List<OdePrim> _activeprims = new List<OdePrim>(); | 240 | private readonly HashSet<OdePrim> _activeprims = new HashSet<OdePrim>(); |
241 | private readonly List<OdePrim> _taintedPrim = new List<OdePrim>(); | 241 | private readonly HashSet<OdePrim> _taintedPrim = new HashSet<OdePrim>(); |
242 | private readonly List<OdeCharacter> _taintedActors = new List<OdeCharacter>(); | 242 | private readonly HashSet<OdeCharacter> _taintedActors = new HashSet<OdeCharacter>(); |
243 | private readonly List<d.ContactGeom> _perloopContact = new List<d.ContactGeom>(); | 243 | private readonly List<d.ContactGeom> _perloopContact = new List<d.ContactGeom>(); |
244 | private readonly List<PhysicsActor> _collisionEventPrim = new List<PhysicsActor>(); | 244 | private readonly List<PhysicsActor> _collisionEventPrim = new List<PhysicsActor>(); |
245 | public Dictionary<IntPtr, String> geom_name_map = new Dictionary<IntPtr, String>(); | 245 | public Dictionary<IntPtr, String> geom_name_map = new Dictionary<IntPtr, String>(); |