diff options
author | Robert Adams | 2013-06-01 14:52:44 -0700 |
---|---|---|
committer | Robert Adams | 2013-06-01 14:52:44 -0700 |
commit | 07058b044be59b6e07efedeca36b2b464e984195 (patch) | |
tree | ee85111ad418be454c2ee9a8d0c0da98b9b99480 /OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | |
parent | Adding standard OpenSim header to source files (diff) | |
download | opensim-SC-07058b044be59b6e07efedeca36b2b464e984195.zip opensim-SC-07058b044be59b6e07efedeca36b2b464e984195.tar.gz opensim-SC-07058b044be59b6e07efedeca36b2b464e984195.tar.bz2 opensim-SC-07058b044be59b6e07efedeca36b2b464e984195.tar.xz |
BulletSim: experimental movement of physics execution off of heartbeat
thread. Off by default until more testing.
Setting "[BulletSim]UseSeparatePhysicsThread=true" causes the physics
engine to be called on its own thread and the heartbeat thread only
handles the reporting of property updates and collisions. Physics frame
rate is about right but physics execution time goes to zero as accounted
by the heartbeat loop.
Diffstat (limited to '')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs index 2651e3b..afd547a 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSParam.cs | |||
@@ -54,6 +54,9 @@ public static class BSParam | |||
54 | // =================== | 54 | // =================== |
55 | // From: | 55 | // From: |
56 | 56 | ||
57 | public static bool UseSeparatePhysicsThread { get; private set; } | ||
58 | public static float PhysicsTimeStep { get; private set; } | ||
59 | |||
57 | // Level of Detail values kept as float because that's what the Meshmerizer wants | 60 | // Level of Detail values kept as float because that's what the Meshmerizer wants |
58 | public static float MeshLOD { get; private set; } | 61 | public static float MeshLOD { get; private set; } |
59 | public static float MeshCircularLOD { get; private set; } | 62 | public static float MeshCircularLOD { get; private set; } |
@@ -354,6 +357,11 @@ public static class BSParam | |||
354 | // v = value (appropriate type) | 357 | // v = value (appropriate type) |
355 | private static ParameterDefnBase[] ParameterDefinitions = | 358 | private static ParameterDefnBase[] ParameterDefinitions = |
356 | { | 359 | { |
360 | new ParameterDefn<bool>("UseSeparatePhysicsThread", "If 'true', the physics engine runs independent from the simulator heartbeat", | ||
361 | false ), | ||
362 | new ParameterDefn<float>("PhysicsTimeStep", "If separate thread, seconds to simulate each interval", | ||
363 | 0.1f ), | ||
364 | |||
357 | new ParameterDefn<bool>("MeshSculptedPrim", "Whether to create meshes for sculpties", | 365 | new ParameterDefn<bool>("MeshSculptedPrim", "Whether to create meshes for sculpties", |
358 | true, | 366 | true, |
359 | (s) => { return ShouldMeshSculptedPrim; }, | 367 | (s) => { return ShouldMeshSculptedPrim; }, |