aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie2009-09-02 03:33:31 +0100
committerMelanie2009-09-02 03:33:31 +0100
commitf32de6fe885915b11fd349c0d8f3e6a98d4dd2bf (patch)
tree231027018a6e1dda86352e88a472f54c7786b5e1 /OpenSim/Region
parentMerge branch 'master' of ssh://MyConnection/var/git/opensim (diff)
downloadopensim-SC_OLD-f32de6fe885915b11fd349c0d8f3e6a98d4dd2bf.zip
opensim-SC_OLD-f32de6fe885915b11fd349c0d8f3e6a98d4dd2bf.tar.gz
opensim-SC_OLD-f32de6fe885915b11fd349c0d8f3e6a98d4dd2bf.tar.bz2
opensim-SC_OLD-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.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneGraph.cs4
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs7
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs5
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs5
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs10
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>();