You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<tr><tdcolspan="2"><divclass="groupText"><p>Meshcat can be used to visualize the realtime rate of a simulation's computation in the meshcat visualizer webpage.</p>
372
+
<p><aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> broadcasts a realtime rate message that is received and displayed by the browser in a <ahref="https://github.com/mrdoob/stats.js">stats strip chart</a></p>
373
+
<p>Advancing the simulation's time requires a certain amount of real world compute time. The realtime rate, a non-negative real value, is the ratio of the sim time to real world time. A value of one indicates that the simulation is advancing at the same rate as the real world clock. Higher values indicate faster simulations. Lower values indicate slower simulations.</p>
374
+
<p>The realtime rate value can be broadcast to the visualizer in one of two ways:</p>
375
+
<ul>
376
+
<li>Throttled - <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> is configured to broadcast realtime rate data in a "smoothed" manner, so that the visualization doesn't fluctuate at arbitrarily high rates and possibly make the value difficult to read. See <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="Updates Meshcat's knowledge of simulation time.">SetSimulationTime()</a>. This is the preferred means of reporting real time rate.</li>
377
+
<li>Immediate - a Meshcat user <em>can</em> compute realtime rate themselves and simply ask Meshcat to dispatch a message with that computed value. See <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#a85a13960e9b5cbf4becb62e66e6f3a8b" title="Immediately broadcasts the given realtime rate to all connected clients.">SetRealtimeRate()</a>. This is not recommended and the user is responsible for computing the value and controlling the frequency at which this is done. </li>
<trclass="memdesc:aa74d106dfb006f716531e28eb8e0ffdb"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Gets the last time value passed to <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="@group Realtime Rate Reporting">SetSimulationTime()</a>. <ahref="#aa74d106dfb006f716531e28eb8e0ffdb">More...</a><br/></td></tr>
384
+
<trclass="memdesc:aa74d106dfb006f716531e28eb8e0ffdb"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Gets the last time value passed to <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="Updates Meshcat's knowledge of simulation time.">SetSimulationTime()</a>. <ahref="#aa74d106dfb006f716531e28eb8e0ffdb">More...</a><br/></td></tr>
<trclass="memdesc:a85a13960e9b5cbf4becb62e66e6f3a8b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Immediately broadcasts the given realtime rate to all connected clients. <ahref="#a85a13960e9b5cbf4becb62e66e6f3a8b">More...</a><br/></td></tr>
<p>Gets the last time value passed to <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="@group Realtime Rate Reporting">SetSimulationTime()</a>. </p>
1077
+
<p>Gets the last time value passed to <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="Updates Meshcat's knowledge of simulation time.">SetSimulationTime()</a>. </p>
<p>Meshcat can be used to visualize the realtime rate of a simulation's computation in the meshcat visualizer webpage. <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> broadcasts a realtime rate message that is received and displayed by the browser in a <ahref="https://github.com/mrdoob/stats.js">stats strip chart</a></p>
2056
-
<p>Advancing the simulation's time requires a certain amount of real world compute time. The realtime rate, a non-negative real value, is the ratio of the sim time to real world time. A value of one indicates that the simulation is advancing at the same rate as the real world clock. Higher values indicate faster simulations. Lower values indicate slower simulations.</p>
2057
-
<p>The realtime rate value can be broadcast to the visualizer in one of two ways:</p>
2058
-
<ul>
2059
-
<li>Throttled - <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> is configured to broadcast realtime rate data in a "smoothed" manner, so that the visualization doesn't fluctuate at arbitrarily high rates and possibly make the value difficult to read. See <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="@group Realtime Rate Reporting">SetSimulationTime()</a>. This is the preferred means of reporting real time rate.</li>
2060
-
<li>Immediate - a Meshcat user <em>can</em> compute realtime rate themselves and simply ask Meshcat to dispatch a message with that computed value. See <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#a85a13960e9b5cbf4becb62e66e6f3a8b" title="Immediately broadcasts the given realtime rate to all connected clients.">SetRealtimeRate()</a>. This is not recommended and the user is responsible for computing the value and controlling the frequency at which this is done.Updates Meshcat's knowledge of simulation time. Changes to simulation time <em>may</em> trigger a realtime rate message to the meshcat visualizer client based on the configured value in <aclass="el" href="structdrake_1_1geometry_1_1_meshcat_params.html#ad883680f1189f5c5cfa4c0a7062c4dbf" title="The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate.">MeshcatParams::realtime_rate_period</a> value.</li>
2061
-
</ul>
2063
+
<p>Updates Meshcat's knowledge of simulation time. </p>
2064
+
<p>Changes to simulation time <em>may</em> trigger a realtime rate message to the meshcat visualizer client based on the configured value in <aclass="el" href="structdrake_1_1geometry_1_1_meshcat_params.html#ad883680f1189f5c5cfa4c0a7062c4dbf" title="The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate.">MeshcatParams::realtime_rate_period</a> value.</p>
2062
2065
<p>Invoking this method <em>may</em> dispatch a message to clients. The following rules apply to invocations and messages:</p>
2063
2066
<ul>
2064
2067
<li>The first invocation is necessary to <em>initialize</em> the calculation; it defines the the starting point from which all calculations are performed (for both wall clock time as well as simulation time). As no interval can be measured from a single invocation, no rate can be computed. Therefore, the first invocation will <em>never</em> broadcast the message.</li>
2065
2068
<li>Wall clock time must advance at least <aclass="el" href="structdrake_1_1geometry_1_1_meshcat_params.html#ad883680f1189f5c5cfa4c0a7062c4dbf" title="The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate.">MeshcatParams::realtime_rate_period</a> seconds for a message to be sent.</li>
2066
-
<li><aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> promises to broadcast one message per elapsed period – starting from initialization – regardless of the frequency at which <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="@group Realtime Rate Reporting">SetSimulationTime()</a> actually gets invoked. If the elapsed time between invocations exceeds <aclass="el" href="structdrake_1_1geometry_1_1_meshcat_params.html#ad883680f1189f5c5cfa4c0a7062c4dbf" title="The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate.">MeshcatParams::realtime_rate_period</a>, multiple messages will be broadcast; one for each complete period.<ul>
2069
+
<li><aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> promises to broadcast one message per elapsed period – starting from initialization – regardless of the frequency at which <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="Updates Meshcat's knowledge of simulation time.">SetSimulationTime()</a> actually gets invoked. If the elapsed time between invocations exceeds <aclass="el" href="structdrake_1_1geometry_1_1_meshcat_params.html#ad883680f1189f5c5cfa4c0a7062c4dbf" title="The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate.">MeshcatParams::realtime_rate_period</a>, multiple messages will be broadcast; one for each complete period.<ul>
2067
2070
<li>This implies that each column of pixels in the realtime rate chart in the client visualizer represents a fixed amount of wall clock time.</li>
<p>The minimum period of wall clock time (in seconds) between updates to the broadcast realtime rate. </p>
297
297
<p>If the period is too short, the reported realtime rate can become visually noisy. Too long, and acute changes in performance may be masked. It must be strictly <em>positive</em>.</p>
298
-
<p><aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> promises to broadcast messages to clients at this fixed period. See <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="@group Realtime Rate Reporting">Meshcat::SetSimulationTime()</a> for details. </p>
298
+
<p><aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html" title="Provides an interface to Meshcat (https://github.com/meshcat-dev/meshcat).">Meshcat</a> promises to broadcast messages to clients at this fixed period. See <aclass="el" href="classdrake_1_1geometry_1_1_meshcat.html#ad5c9a4ca195d1de4257785b8ad351e2b" title="Updates Meshcat's knowledge of simulation time.">Meshcat::SetSimulationTime()</a> for details. </p>
<p>For PRs opened by a new or infrequent contributor:</p>
214
214
215
215
<blockquote>
216
-
<p>Good day, <codeclass="language-plaintext highlighter-rouge">@AUTHOR</code>. I’m assigning <codeclass="language-plaintext highlighter-rouge">+@ASSIGNEE</code> as the most relevant
216
+
<p>Good day, <codeclass="language-plaintext highlighter-rouge">@AUTHOR</code>. I’m assigning <codeclass="language-plaintext highlighter-rouge">+a:@ASSIGNEE</code> as the most relevant
217
217
team member to assist with this pull request. If you already had a
218
218
different team member in mind, please let us know. To <codeclass="language-plaintext highlighter-rouge">@ASSIGNEE</code>,
219
219
feel free to delegate in case there is someone else more suitable.</p>
0 commit comments