<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Again, for people interested in
learning more about these design issues, and the tradeoffs of
different choices, I highly recommend this tutorial and associated
code:<br>
<a class="moz-txt-link-freetext" href="http://buildnewgames.com/real-time-multiplayer/">http://buildnewgames.com/real-time-multiplayer/</a><br>
<br>
It's a wonderful little example that explains how interactive
multi-user client-server simulations work. 100x simpler than
OpenSim, but essentially the same concepts. It doesn't explain
time dilation, but it's not hard to see where that comes in: in
varying the time window of the physics loop. The update
(simulation) loop is mainly about notifying clients about changes
in the state of the simulation. We want the physics simulation to
be high fidelity (meaning high loop rate), and the client updates
to be as low as possible (low update loop rate). <br>
<br>
On 3/3/2015 2:09 AM, Tom Bess wrote:<br>
</div>
<blockquote
cite="mid:3E65F66E-F365-4E7C-83D9-4574E08F9F3B@bessacarr.com"
type="cite">
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
<div>Thanks. You have clarified much. I realised the rift is
viewer control but was not so clear about the
impact/relationship between viewer and server frame rates and
the interpolation needed.</div>
<div><br>
</div>
<div>Thanks again.</div>
<div><br>
<span style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227, 0.230469);
-webkit-composition-frame-color: rgba(77, 128, 180, 0.230469);
-webkit-text-size-adjust: auto; ">Tom Willans BSc(Hons) MBCS
CITP</span>
<div>Chartered IT Professional<br style="font-family: Helvetica;
font-size: medium; -webkit-tap-highlight-color: rgba(26, 26,
26, 0.296875); -webkit-composition-fill-color: rgba(175,
192, 227, 0.230469); -webkit-composition-frame-color:
rgba(77, 128, 180, 0.230469); -webkit-text-size-adjust:
auto; ">
<span style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; "></span><br
style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; ">
<span style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; ">Managing
Director Bessacarr Publications Ltd</span><br
style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; ">
<span style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; ">+44 (0)121
288 0281</span><br style="font-family: Helvetica; font-size:
medium; -webkit-tap-highlight-color: rgba(26, 26, 26,
0.296875); -webkit-composition-fill-color: rgba(175, 192,
227, 0.230469); -webkit-composition-frame-color: rgba(77,
128, 180, 0.230469); -webkit-text-size-adjust: auto; ">
<span style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; ">email: <a
moz-do-not-send="true"
href="mailto:tom.willans@bessacarr.com">tom.willans@bessacarr.com</a></span><br
style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; ">
<span style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; ">skype:
tom.willans</span><br style="font-family: Helvetica;
font-size: medium; -webkit-tap-highlight-color: rgba(26, 26,
26, 0.296875); -webkit-composition-fill-color: rgba(175,
192, 227, 0.230469); -webkit-composition-frame-color:
rgba(77, 128, 180, 0.230469); -webkit-text-size-adjust:
auto; ">
<span style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; ">Second
Life and OSGrid: Tom Tiros</span>
<div><span style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; "><br>
</span></div>
<div><span style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; ">Sent
from my mobile</span></div>
<div><span style="font-family: Helvetica; font-size: medium;
-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875);
-webkit-composition-fill-color: rgba(175, 192, 227,
0.230469); -webkit-composition-frame-color: rgba(77, 128,
180, 0.230469); -webkit-text-size-adjust: auto; "><br>
</span></div>
</div>
</div>
<div><br>
On 3 Mar 2015, at 09:08, Dahlia Trimble <<a
moz-do-not-send="true" href="mailto:dahliatrimble@gmail.com">dahliatrimble@gmail.com</a>>
wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>If my memory is correct, SL sims run at a
default of 45 frames/second. OpenSimulator runs at
11. I'm not certain exactly why 11 was chosen but
I do know that increasing it increases the amount
of work the simulator must do. E.g., if you go
from 11 to 45 you quadruple the work the simulator
must do<br>
<br>
</div>
The only signal I'm aware of that affects the viewer
is "time dilation". This value varies from 0.0 to
1.0 where 1.0 indicates the simulator is running at
full speed. If for some reason the physics engine
cannot keep up with the simulation it can signal the
viewers to slow movement. This value is sent with
many UDP packets that are involved with the scene
and moving objects, so the viewers will know this
value as timely as possible.<br>
<br>
</div>
Running the simulation at 11 fps shoudl *not* affect
devices such as the Rift as the camera is controlled
entirely viewer side except under special
circumstances such as a user surrendering camera
control to a script. The viewer frame rate is
*entirely independent* of the simulator frame rate and
will run as fast as the hardware allows if configured
to do so.<br>
<br>
</div>
Choosing an appropriate simulation frame rate would
involve weighing the tradeoffs between simulation
workload and responsiveness to user controls such as
those that control avatar position movement. Bear in
mind that there are also network delays involved; a
simulation running at 11 frames/second will respond to a
user control every 89 ms but there will also be
round-trip network delays which may typically be 100-200
ms but as high as 1.5 seconds or more. Increashing the
simulation frame rate will likely not produce a
perceivable difference in performance but will
*significantly reduce* the capacity of the simulator to
do things like host more avatars and scripted objects.<br>
<br>
</div>
Also bear in mind that much of the code assumes 11
frames/second and raising that may create motion-related
and other bugs that may not be apparent until much later.
OpenSimulator is tuned to function properly at 11
frames/second.<br>
<br>
</div>
To recap: the user camera is for the most part entirely
controlled within the viewer and is unaffected by simulation
frame rate. As such devices such as the Rift which
manipulate the camera will not be affected.<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Mar 3, 2015 at 12:09 AM,
Tom Bess <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:tom.willans@bessacarr.com"
target="_blank">tom.willans@bessacarr.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="auto">
<div><br>
I am reporting a comparison between sl and opensim
and did not realise this. Does sl run at a true
55fps? If so why bother? Presumably the viewer
needs 55fps sent to it to get its calculations
correct as at 11fps opensim does the same at sl
albeit in larger steps. </div>
<div><br>
</div>
<div>Would a faster fps improve the accuracy of
devices such as the rift by having to interpolate
over a shorter period of time? Admittedly I suspect
viewer rendering needs to be improved as well as
this aspect is holding my experience back. </div>
<div><br>
</div>
<div>I understand that other aspects may assume that
11fps is a fixed constant and not allow for this to
change presumably that can be changed but you guys
know more here.</div>
<div><br>
</div>
<div>Thanks for the guide btw. </div>
<div><br>
<span style="font-family:Helvetica;font-size:medium">Tom
Willans BSc(Hons) MBCS CITP</span>
<div>Chartered IT Professional<br
style="font-family:Helvetica;font-size:medium">
<span
style="font-family:Helvetica;font-size:medium"></span><br
style="font-family:Helvetica;font-size:medium">
<span
style="font-family:Helvetica;font-size:medium">Managing
Director Bessacarr Publications Ltd</span><br
style="font-family:Helvetica;font-size:medium">
<span
style="font-family:Helvetica;font-size:medium"><a
moz-do-not-send="true"
href="tel:%2B44%20%280%29121%20288%200281"
value="+441212880281" target="_blank">+44
(0)121 288 0281</a></span><br
style="font-family:Helvetica;font-size:medium">
<span
style="font-family:Helvetica;font-size:medium">email:
<a moz-do-not-send="true"
href="mailto:tom.willans@bessacarr.com"
target="_blank">tom.willans@bessacarr.com</a></span><br
style="font-family:Helvetica;font-size:medium">
<span
style="font-family:Helvetica;font-size:medium">skype:
tom.willans</span><br
style="font-family:Helvetica;font-size:medium">
<span
style="font-family:Helvetica;font-size:medium">Second
Life and OSGrid: Tom Tiros</span>
<div><span
style="font-family:Helvetica;font-size:medium"><br>
</span></div>
<div><span
style="font-family:Helvetica;font-size:medium">Sent
from my mobile</span></div>
<div><span
style="font-family:Helvetica;font-size:medium"><br>
</span></div>
</div>
</div>
<div>
<div class="h5">
<div><br>
On 3 Mar 2015, at 05:18, Sean M <<a
moz-do-not-send="true"
href="mailto:mondesire.sean@gmail.com"
target="_blank">mondesire.sean@gmail.com</a>>
wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>Thanks Justin, Dahlia, Michael, and
everyone. I now have a better understanding of
the way FPS is calculated and of the
correction factor.
<div><br>
</div>
<div>-Sean M. <span></span><br>
<br>
On Monday, March 2, 2015, Justin Clark-Casey
<<a moz-do-not-send="true"
href="mailto:jjustincc@googlemail.com"
target="_blank">jjustincc@googlemail.com</a>>
wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex">I think this
has already been said but just to
summarize.<br>
<br>
* The 11 fps are the number of scene
frames processed - opportunities where
avatars may be notified about changes in
the scene.<br>
<br>
* 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.<br>
<br>
* 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.<br>
<br>
* Changing m_reportedFpsCorrectionFactor
will do nothing except change the server
FPS stat.<br>
<br>
* 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.<br>
<br>
On 02/03/15 18:23, Sean M wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex">
Greetings,<br>
<br>
We at the MOSES project have noticed
Simulation and Physics frames per second
(FPS) have a few issues that we are
trying<br>
to resolve. The issues are producing
suspicious performance statistics for
the analysis of the current version of<br>
OpenSim that we are running.<br>
<br>
First, there is a correction factor (m_reportedFpsCorrectionFactor)
that the raw SimFPS is multiplied by.
The comment in<br>
the following line is a bit curious
because it indicates that the FPS is
artificially inflated to "lie" about the
actual<br>
FPS being so low:<br>
<br>
OpenSim/Region/Framework/__Scenes/SimStatsReporter.cs:
Line 317<br>
// We're going to lie about the FPS
because we've been lying since 2008.
The actual FPS is currently<br>
// locked at a maximum of 11. Maybe at
some point this can change so that we're
not lying.<br>
int reportedFPS = (int)(m_fps *
m_reportedFpsCorrectionFactor);<br>
<br>
Also, lines 174 and 227 mention the use
of this correction factor.<br>
<br>
Second, this multiplier also comes into
play in the Scene where there is a
MinFrameTime, which seems to be the
minimum<br>
reported amount of time to process a
frame:<br>
OpenSim/Region/Framework/__Scenes/Scene.cs:Line
723<br>
<br>
Both of these variables, the correction
factor and MinFrameTime, are concerning
from a statistics view point as they are<br>
generating skewed and massaged numbers;
therefore, I have a few questions:<br>
<br>
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<br>
an accurate reporting of processed
frames per second?<br>
<br>
2) What exactly are the definitions for
OpenSim's Simulation (Sim) FPS, Physics
(Phy) FPS and a frame (I have found<br>
conflicting and vague definitions on the
wiki)?<br>
<br>
3) What are the known performance
consequences of setting the
m_reportedFpsCorrectionFactor to 1 and
MinFrameTime to 0?<br>
<br>
Thanks,<br>
Sean M.<br>
<br>
<br>
_______________________________________________<br>
Opensim-dev mailing list<br>
<a moz-do-not-send="true">Opensim-dev@opensimulator.org</a><br>
<a moz-do-not-send="true"
href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev"
target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
<br>
</blockquote>
<br>
<br>
-- <br>
Justin Clark-Casey (justincc)<br>
OSVW Consulting<br>
<a moz-do-not-send="true"
href="http://justincc.org"
target="_blank">http://justincc.org</a><br>
<a moz-do-not-send="true"
href="http://twitter.com/justincc"
target="_blank">http://twitter.com/justincc</a><br>
_______________________________________________<br>
Opensim-dev mailing list<br>
<a moz-do-not-send="true">Opensim-dev@opensimulator.org</a><br>
<a moz-do-not-send="true"
href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev"
target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
</blockquote>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>Opensim-dev mailing list</span><br>
<span><a moz-do-not-send="true"
href="mailto:Opensim-dev@opensimulator.org"
target="_blank">Opensim-dev@opensimulator.org</a></span><br>
<span><a moz-do-not-send="true"
href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev"
target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a></span><br>
</div>
</blockquote>
</div>
</div>
</div>
<br>
_______________________________________________<br>
Opensim-dev mailing list<br>
<a moz-do-not-send="true"
href="mailto:Opensim-dev@opensimulator.org">Opensim-dev@opensimulator.org</a><br>
<a moz-do-not-send="true"
href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev"
target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>Opensim-dev mailing list</span><br>
<span><a moz-do-not-send="true"
href="mailto:Opensim-dev@opensimulator.org">Opensim-dev@opensimulator.org</a></span><br>
<span><a moz-do-not-send="true"
href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a></span><br>
</div>
</blockquote>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Opensim-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-dev@opensimulator.org">Opensim-dev@opensimulator.org</a>
<a class="moz-txt-link-freetext" href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>