RE: "Where does this number come from?"

The rate of simulation updates is always an arbitrary number that depends on what kind of simulation you have and what kinds of user experiences you want to support. A batch-style simulation with no interactivity should run as fast as it can -- so, no sleeping in between the iterations. An interactive simulation, however, needs to preserve the sense of time for the observers. Hence the game loop being on a constant time window, so that the simulation proceeds at a predictable rate for the observers. How fast the rate is depends on the user experience we want to support; faster is not always better.

In that example tutorial that I pointed to the simulation loops at 22 fps. OpenSim loops at 11 fps. Increasing the rate would increase the network traffic without much benefit in terms of user experience: many properties being passed to the clients already account for things like velocity and direction that the clients can smooth over long periods of time. Ideally, the update loop would be very small (say, 1/sec), so that the number of messages to clients would be much lower. We would need to figure out how to encode "smoothable" information over that much time... and that's a hard research problem.

On 3/2/2015 3:42 PM, Justin Clark-Casey wrote:
I think this has already been said but just to summarize.

* The 11 fps are the number of scene frames processed - opportunities where avatars may be notified about changes in the scene.

* Each of these scene frames is associated with a physics process where 5 physics frames are processed in each frame. Hence 11 * 5 = 55 fps.

* Why this number? Others may know better but my guess is that it's related to the frequency of updates expected by the viewer. Teravus may well know more if he's still around.

* Changing m_reportedFpsCorrectionFactor will do nothing except change the server FPS stat.

* Changing MinFrameTime will change the number of scene frames. From my work in the past, you would also need to adjust other parameters like physics frames to stop things going haywire (this was with ODE, Bullet might work differently). I expect you also wouldn't gain much if anything in scene fidelity.

On 02/03/15 18:23, Sean M wrote:
Greetings,

We at the MOSES project have noticed Simulation and Physics frames per second (FPS) have a few issues that we are trying to resolve. The issues are producing suspicious performance statistics for the analysis of the current version of
OpenSim that we are running.

First, there is a correction factor (m_reportedFpsCorrectionFactor) that the raw SimFPS is multiplied by. The comment in the following line is a bit curious because it indicates that the FPS is artificially inflated to "lie" about the actual
FPS being so low:

OpenSim/Region/Framework/__Scenes/SimStatsReporter.cs: Line 317
// We're going to lie about the FPS because we've been lying since 2008. The actual FPS is currently // locked at a maximum of 11. Maybe at some point this can change so that we're not lying.
int reportedFPS = (int)(m_fps * m_reportedFpsCorrectionFactor);

Also, lines 174 and 227 mention the use of this correction factor.

Second, this multiplier also comes into play in the Scene where there is a MinFrameTime, which seems to be the minimum
reported amount of time to process a frame:
OpenSim/Region/Framework/__Scenes/Scene.cs:Line 723

Both of these variables, the correction factor and MinFrameTime, are concerning from a statistics view point as they are generating skewed and massaged numbers; therefore, I have a few questions:

1) Is it commonly known that Sim and Phy FPSs are inflated to maintain the "lie"? And if so, will it be corrected to be
an accurate reporting of processed frames per second?

2) What exactly are the definitions for OpenSim's Simulation (Sim) FPS, Physics (Phy) FPS and a frame (I have found
conflicting and vague definitions on the wiki)?

3) What are the known performance consequences of setting the m_reportedFpsCorrectionFactor to 1 and MinFrameTime to 0?

Thanks,
Sean M.


_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev




_______________________________________________
Opensim-dev mailing list
[email protected]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev

Reply via email to