[Opensim-dev] Sim and Phys Frames per Second (FPS) Issues

Diva Canto diva at metaverseink.com
Tue Mar 3 01:13:48 UTC 2015


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
>> Opensim-dev at opensimulator.org
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>
>



More information about the Opensim-dev mailing list