diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SimStatsReporter.cs | 12 |
2 files changed, 13 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 63ac5f6..8707737 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -158,7 +158,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
158 | /// One can tweak this number to experiment. One current effect of reducing it is to make avatar animations | 158 | /// One can tweak this number to experiment. One current effect of reducing it is to make avatar animations |
159 | /// occur too quickly (viewer 1) or with even more slide (viewer 2). | 159 | /// occur too quickly (viewer 1) or with even more slide (viewer 2). |
160 | /// </remarks> | 160 | /// </remarks> |
161 | protected float m_minFrameTimespan = 0.089f; | 161 | public float MinFrameTime { get; private set; } |
162 | 162 | ||
163 | /// <summary> | 163 | /// <summary> |
164 | /// The time of the last frame update. | 164 | /// The time of the last frame update. |
@@ -552,6 +552,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
552 | bool SeeIntoRegionFromNeighbor, IConfigSource config, string simulatorVersion) | 552 | bool SeeIntoRegionFromNeighbor, IConfigSource config, string simulatorVersion) |
553 | { | 553 | { |
554 | m_config = config; | 554 | m_config = config; |
555 | MinFrameTime = 0.089f; | ||
555 | 556 | ||
556 | Random random = new Random(); | 557 | Random random = new Random(); |
557 | 558 | ||
@@ -1293,7 +1294,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1293 | if (Frame % m_update_physics == 0) | 1294 | if (Frame % m_update_physics == 0) |
1294 | { | 1295 | { |
1295 | if (m_physics_enabled) | 1296 | if (m_physics_enabled) |
1296 | physicsFPS = m_sceneGraph.UpdatePhysics(Math.Max(SinceLastFrame.TotalSeconds, m_minFrameTimespan)); | 1297 | physicsFPS = m_sceneGraph.UpdatePhysics(Math.Max(SinceLastFrame.TotalSeconds, MinFrameTime)); |
1297 | if (SynchronizeScene != null) | 1298 | if (SynchronizeScene != null) |
1298 | SynchronizeScene(this); | 1299 | SynchronizeScene(this); |
1299 | } | 1300 | } |
@@ -1421,7 +1422,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1421 | } | 1422 | } |
1422 | 1423 | ||
1423 | maintc = Util.EnvironmentTickCountSubtract(maintc); | 1424 | maintc = Util.EnvironmentTickCountSubtract(maintc); |
1424 | maintc = (int)(m_minFrameTimespan * 1000) - maintc; | 1425 | maintc = (int)(MinFrameTime * 1000) - maintc; |
1425 | 1426 | ||
1426 | 1427 | ||
1427 | m_lastUpdate = Util.EnvironmentTickCount(); | 1428 | m_lastUpdate = Util.EnvironmentTickCount(); |
diff --git a/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs b/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs index 8d62b16..35cd025 100644 --- a/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs +++ b/OpenSim/Region/Framework/Scenes/SimStatsReporter.cs | |||
@@ -107,6 +107,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
107 | private int m_fps = 0; | 107 | private int m_fps = 0; |
108 | 108 | ||
109 | /// <summary> | 109 | /// <summary> |
110 | /// Our nominal fps target, as expected in fps stats when a sim is running normally. | ||
111 | /// </summary> | ||
112 | private float m_nominalReportedFps = 55; | ||
113 | |||
114 | /// <summary> | ||
110 | /// Parameter to adjust reported scene fps | 115 | /// Parameter to adjust reported scene fps |
111 | /// </summary> | 116 | /// </summary> |
112 | /// <remarks> | 117 | /// <remarks> |
@@ -114,7 +119,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
114 | /// However, we will still report an FPS that's closer to what people are used to seeing. A lower FPS might | 119 | /// However, we will still report an FPS that's closer to what people are used to seeing. A lower FPS might |
115 | /// affect clients and monitoring scripts/software. | 120 | /// affect clients and monitoring scripts/software. |
116 | /// </remarks> | 121 | /// </remarks> |
117 | private float m_fpsCorrectionFactor = 5; | 122 | private float m_reportedFpsCorrectionFactor = 5; |
118 | 123 | ||
119 | // saved last reported value so there is something available for llGetRegionFPS | 124 | // saved last reported value so there is something available for llGetRegionFPS |
120 | private float lastReportedSimFPS = 0; | 125 | private float lastReportedSimFPS = 0; |
@@ -165,8 +170,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
165 | 170 | ||
166 | public SimStatsReporter(Scene scene) | 171 | public SimStatsReporter(Scene scene) |
167 | { | 172 | { |
168 | statsUpdateFactor = (float)(statsUpdatesEveryMS / 1000); | ||
169 | m_scene = scene; | 173 | m_scene = scene; |
174 | m_reportedFpsCorrectionFactor = scene.MinFrameTime * m_nominalReportedFps; | ||
175 | statsUpdateFactor = (float)(statsUpdatesEveryMS / 1000); | ||
170 | ReportingRegion = scene.RegionInfo; | 176 | ReportingRegion = scene.RegionInfo; |
171 | 177 | ||
172 | m_objectCapacity = scene.RegionInfo.ObjectCapacity; | 178 | m_objectCapacity = scene.RegionInfo.ObjectCapacity; |
@@ -212,7 +218,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
212 | 218 | ||
213 | // We're going to lie about the FPS because we've been lying since 2008. The actual FPS is currently | 219 | // We're going to lie about the FPS because we've been lying since 2008. The actual FPS is currently |
214 | // locked at a maximum of 11. Maybe at some point this can change so that we're not lying. | 220 | // locked at a maximum of 11. Maybe at some point this can change so that we're not lying. |
215 | int reportedFPS = (int)(m_fps * m_fpsCorrectionFactor); | 221 | int reportedFPS = (int)(m_fps * m_reportedFpsCorrectionFactor); |
216 | 222 | ||
217 | // save the reported value so there is something available for llGetRegionFPS | 223 | // save the reported value so there is something available for llGetRegionFPS |
218 | lastReportedSimFPS = reportedFPS / statsUpdateFactor; | 224 | lastReportedSimFPS = reportedFPS / statsUpdateFactor; |