| <link rel="stylesheet" href="../style.css" /> |
| |
| [TOC] |
| # fuchsia.scenic.scheduling |
| |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 7</span></div> |
| |
| |
| ## **STRUCTS** |
| |
| ### FramePresentedInfo {#FramePresentedInfo data-text="FramePresentedInfo"} |
| *Defined in [fuchsia.scenic.scheduling/prediction_info.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.scenic.scheduling/prediction_info.fidl;l=55)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="FramePresentedInfo.actual_presentation_time"> |
| <td><code>actual_presentation_time</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code> |
| </td> |
| <td><p>The time the frame was presented to the user. This value was captured |
| after the fact, differentiating it from the <code>presentation_time</code>s |
| included in <code>FuturePresentationTimes</code>.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="FramePresentedInfo.presentation_infos"> |
| <td><code>presentation_infos</code></td> |
| <td> |
| <code>vector<<a class='link' href='#PresentReceivedInfo'>PresentReceivedInfo</a>>[32]</code> |
| </td> |
| <td><p>The presentation informations for each Present2() that comprised the |
| content of this frame. These are ordered by present submission order.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="FramePresentedInfo.num_presents_allowed"> |
| <td><code>num_presents_allowed</code></td> |
| <td> |
| <code>uint64</code> |
| </td> |
| <td><p>The number of times remaining that the client can call <code>Present2</code>.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### FuturePresentationTimes {#FuturePresentationTimes data-text="FuturePresentationTimes"} |
| *Defined in [fuchsia.scenic.scheduling/prediction_info.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.scenic.scheduling/prediction_info.fidl;l=37)* |
| <p>The data type returned in <code>fuchsia.ui.scenic::RequestPresentationTimes</code>. See |
| that method description for more information.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="FuturePresentationTimes.future_presentations"> |
| <td><code>future_presentations</code></td> |
| <td> |
| <code>vector<<a class='link' href='#PresentationInfo'>PresentationInfo</a>>[8]</code> |
| </td> |
| <td><p>The future estimated presentation times. They represent the times Scenic |
| intends to let the client's work be presented over the next few frames. |
| These values may change after they are queried.</p> |
| <p>Clients who wish to minimize latency should use these values to schedule |
| their work accordingly.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="FuturePresentationTimes.remaining_presents_in_flight_allowed"> |
| <td><code>remaining_presents_in_flight_allowed</code></td> |
| <td> |
| <code>int64</code> |
| </td> |
| <td><p>The amount of Present() calls the client is currently allowed. If the |
| client calls Present() when this number is zero, the session will be |
| shut down.</p> |
| <p>This value is decremented every Present() call, and is incremented every |
| OnFramePresented() event.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| |
| |
| ## **TABLES** |
| |
| ### PresentReceivedInfo {#PresentReceivedInfo data-text="PresentReceivedInfo"} |
| |
| |
| *Defined in [fuchsia.scenic.scheduling/prediction_info.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.scenic.scheduling/prediction_info.fidl;l=26)* |
| <p>The times we record for each Present2, expressed in nanoseconds in the |
| <code>CLOCK_MONOTONIC</code> timebase.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="PresentReceivedInfo.present_received_time"> |
| <td><h3 id="PresentReceivedInfo.present_received_time" class="add-link hide-from-toc">1</h3></td> |
| <td><code>present_received_time</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code> |
| </td> |
| <td><p>The time Scenic receives the Present2 call.</p> |
| </td> |
| </tr> |
| <tr id="PresentReceivedInfo.latched_time"> |
| <td><h3 id="PresentReceivedInfo.latched_time" class="add-link hide-from-toc">2</h3></td> |
| <td><code>latched_time</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code> |
| </td> |
| <td><p>The time Scenic latched the Present2 call to. This is guaranteed to be |
| greater than the <code>present_received_time</code>.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### PresentationInfo {#PresentationInfo data-text="PresentationInfo"} |
| |
| |
| *Defined in [fuchsia.scenic.scheduling/prediction_info.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.scenic.scheduling/prediction_info.fidl;l=11)* |
| <p>The times we predict for a future presentation, expressed in nanoseconds in |
| the <code>CLOCK_MONOTONIC</code> timebase.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="PresentationInfo.latch_point"> |
| <td><h3 id="PresentationInfo.latch_point" class="add-link hide-from-toc">1</h3></td> |
| <td><code>latch_point</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code> |
| </td> |
| <td><p>The time where Scenic processes all pending updates to its scene graph |
| and render a new frame. Clients should aim to have all commands sent |
| and acquire fences reached in order to have their content be |
| presented at the corresponding <code>presentation_time</code>. The <code>latch_point</code> |
| is guaranteed to be less than <code>presentation_time</code>.</p> |
| </td> |
| </tr> |
| <tr id="PresentationInfo.presentation_time"> |
| <td><h3 id="PresentationInfo.presentation_time" class="add-link hide-from-toc">2</h3></td> |
| <td><code>presentation_time</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code> |
| </td> |
| <td><p>The time in which the enqueued operations submitted before <code>latch_point</code> |
| take visible effect. This time is usually but not necessarily vsync.</p> |
| </td> |
| </tr> |
| </table> |
| |
| |
| |
| |