"save the catgirls"
parent
1cfee4e84c
commit
1848ceac95
|
@ -1391,10 +1391,11 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
int previousFrameTick;
|
int previousFrameTick;
|
||||||
int maintc;
|
int maintc;
|
||||||
int sleepMS;
|
int sleepMS;
|
||||||
|
int framestart;
|
||||||
|
|
||||||
while (!m_shuttingDown && (endFrame == null || Frame < endFrame))
|
while (!m_shuttingDown && (endFrame == null || Frame < endFrame))
|
||||||
{
|
{
|
||||||
maintc = Util.EnvironmentTickCount();
|
framestart = Util.EnvironmentTickCount();
|
||||||
++Frame;
|
++Frame;
|
||||||
|
|
||||||
// m_log.DebugFormat("[SCENE]: Processing frame {0} in {1}", Frame, RegionInfo.RegionName);
|
// m_log.DebugFormat("[SCENE]: Processing frame {0} in {1}", Frame, RegionInfo.RegionName);
|
||||||
|
@ -1481,7 +1482,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// landMS = Util.EnvironmentTickCountSubtract(ldMS);
|
// landMS = Util.EnvironmentTickCountSubtract(ldMS);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
frameMS = Util.EnvironmentTickCountSubtract(maintc);
|
// frameMS = Util.EnvironmentTickCountSubtract(maintc);
|
||||||
otherMS = tempOnRezMS + eventMS + backupMS + terrainMS + landMS;
|
otherMS = tempOnRezMS + eventMS + backupMS + terrainMS + landMS;
|
||||||
|
|
||||||
// if (Frame%m_update_avatars == 0)
|
// if (Frame%m_update_avatars == 0)
|
||||||
|
@ -1496,7 +1497,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
// frameMS currently records work frame times, not total frame times (work + any required sleep to
|
// frameMS currently records work frame times, not total frame times (work + any required sleep to
|
||||||
// reach min frame time.
|
// reach min frame time.
|
||||||
StatsReporter.addFrameMS(frameMS);
|
// StatsReporter.addFrameMS(frameMS);
|
||||||
|
|
||||||
StatsReporter.addAgentMS(agentMS);
|
StatsReporter.addAgentMS(agentMS);
|
||||||
StatsReporter.addPhysicsMS(physicsMS + physicsMS2);
|
StatsReporter.addPhysicsMS(physicsMS + physicsMS2);
|
||||||
|
@ -1553,17 +1554,21 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
previousFrameTick = m_lastFrameTick;
|
previousFrameTick = m_lastFrameTick;
|
||||||
m_lastFrameTick = Util.EnvironmentTickCount();
|
m_lastFrameTick = Util.EnvironmentTickCount();
|
||||||
maintc = Util.EnvironmentTickCountSubtract(m_lastFrameTick, maintc);
|
maintc = Util.EnvironmentTickCountSubtract(m_lastFrameTick, framestart);
|
||||||
maintc = (int)(MinFrameTime * 1000) - maintc;
|
maintc = (int)(MinFrameTime * 1000) - maintc;
|
||||||
|
|
||||||
m_firstHeartbeat = false;
|
m_firstHeartbeat = false;
|
||||||
|
|
||||||
|
|
||||||
sleepMS = Util.EnvironmentTickCount();
|
sleepMS = Util.EnvironmentTickCount();
|
||||||
|
|
||||||
if (maintc > 0)
|
if (maintc > 0)
|
||||||
Thread.Sleep(maintc);
|
Thread.Sleep(maintc);
|
||||||
|
|
||||||
sleepMS = Util.EnvironmentTickCountSubtract(sleepMS);
|
sleepMS = Util.EnvironmentTickCountSubtract(sleepMS);
|
||||||
|
frameMS = Util.EnvironmentTickCountSubtract(framestart);
|
||||||
StatsReporter.addSleepMS(sleepMS);
|
StatsReporter.addSleepMS(sleepMS);
|
||||||
|
StatsReporter.addFrameMS(frameMS);
|
||||||
|
|
||||||
// Optionally warn if a frame takes double the amount of time that it should.
|
// Optionally warn if a frame takes double the amount of time that it should.
|
||||||
if (DebugUpdates
|
if (DebugUpdates
|
||||||
|
|
|
@ -253,24 +253,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
physfps = 0;
|
physfps = 0;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
//Our time dilation is 0.91 when we're running a full speed,
|
|
||||||
// therefore to make sure we get an appropriate range,
|
|
||||||
// we have to factor in our error. (0.10f * statsUpdateFactor)
|
|
||||||
// multiplies the fix for the error times the amount of times it'll occur a second
|
|
||||||
// / 10 divides the value by the number of times the sim heartbeat runs (10fps)
|
|
||||||
// Then we divide the whole amount by the amount of seconds pass in between stats updates.
|
|
||||||
|
|
||||||
// 'statsUpdateFactor' is how often stats packets are sent in seconds. Used below to change
|
|
||||||
// values to X-per-second values.
|
|
||||||
|
|
||||||
float factor = 1 / statsUpdateFactor;
|
float factor = 1 / statsUpdateFactor;
|
||||||
if (reportedFPS <= 0)
|
if (reportedFPS <= 0)
|
||||||
reportedFPS = 1;
|
reportedFPS = 1;
|
||||||
|
|
||||||
float perframe = 1.0f / (float)reportedFPS;
|
float perframe = 1.0f / (float)reportedFPS;
|
||||||
|
|
||||||
float TotalFrameTime = 1000.0f * statsUpdateFactor * perframe;
|
float TotalFrameTime = m_frameMS * perframe;
|
||||||
|
|
||||||
float targetframetime = 1100.0f / (float)m_nominalReportedFps;
|
float targetframetime = 1100.0f / (float)m_nominalReportedFps;
|
||||||
|
|
||||||
|
@ -279,7 +268,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
sparetime = 0;
|
sparetime = 0;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sparetime = TotalFrameTime - m_frameMS * perframe;
|
sparetime = m_frameMS - m_physicsMS - m_agentMS;
|
||||||
|
sparetime *= perframe;
|
||||||
if (sparetime < 0)
|
if (sparetime < 0)
|
||||||
sparetime = 0;
|
sparetime = 0;
|
||||||
else if (sparetime > TotalFrameTime)
|
else if (sparetime > TotalFrameTime)
|
||||||
|
@ -290,7 +280,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// m_otherMS = m_frameMS - m_physicsMS - m_imageMS - m_netMS - m_agentMS;
|
// m_otherMS = m_frameMS - m_physicsMS - m_imageMS - m_netMS - m_agentMS;
|
||||||
// m_imageMS m_netMS are not included in m_frameMS
|
// m_imageMS m_netMS are not included in m_frameMS
|
||||||
|
|
||||||
m_otherMS = m_frameMS - m_physicsMS - m_agentMS;
|
m_otherMS = m_frameMS - m_physicsMS - m_agentMS - m_sleeptimeMS;
|
||||||
if (m_otherMS < 0)
|
if (m_otherMS < 0)
|
||||||
m_otherMS = 0;
|
m_otherMS = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue