|
|
Line 1: |
Line 1: |
| [[Category: Sandbox]] | | [[Category: Sandbox]] |
| {{Informative | Future [[Simulation vs Render Time Scope]] page}}
| |
|
| |
| {{SideTOC}}
| |
| {{GVI|arma2oa|1.60}} {{GVI|TKOH|1.00}} {{GVI|arma3|1.00}}
| |
| == Definitions ==
| |
|
| |
| === Simulation Time Scope ===
| |
|
| |
| '''Simulation Time Scope''' is the '''calculated''' position of objects.
| |
| * It is updated on a lower frequency than the '''rendered''' position in order to save performance. {{cn}}
| |
| * Refresh frequency is lowered the further the object is from the camera. {{cn}}<!--
| |
|
| |
| -->=== Render Time Scope ===
| |
|
| |
| '''Render Time Scope''' is the '''visual''' position of objects, which is rendered (''estimated'') separately from the calculated one.
| |
| * It is updated on a very high frequency (presumably on each frame). {{cn}}
| |
| * The object's position is interpolated depending on its speed and movement direction.
| |
| * Due to interpolation, the position might not be accurate but it is updated frequently, resulting in a smooth motion.
| |
| * Usually, [[:Category:Render Time Scope Scripting Commands|Render Time Scope commands]] should be used when something is visible to the player, such as UI or on-model precision.
| |
|
| |
|
| |
| [[File:Render Visual Time Scope.gif|right]]
| |
| == Simulation vs Render ==
| |
|
| |
| For performance concerns, '''Simulation''' and '''Render''' cycles are separated '''since {{arma2oa}} v1.60'''.
| |
| This means that any object has now "two" positions: the computed one (simulation), and the visual one (render).
| |
|
| |
| * For visual (e.g HUD-related) operations, use *visual [[:Category:Render Time Scope Scripting Commands|Render Time Scope scripting commands]] (e.g [[getPosATLVisual]])
| |
| * "Normal" commands (e.g [[getPosATL]]) are to be used if the position isn't updated frequently and the effect is not visible to players.
| |
|
| |
| [https://www.youtube.com/watch?v=6xUw0K292sw Video Showcase]
| |
|
| |
| <div style="clear: both"></div>
| |
| == Before Simulation and Render separation ==
| |
|
| |
| From {{ofp}} to {{arma2oa}} v1.59, the '''simulation''' first updated the world's state (units position) ''then'' the visual '''rendering''' was done.<br>
| |
| Sequencing these operations worked fine only in non-intensive scenarios; as soon as the CPU reached its limits, the simulation frequency was lowered in order to maintain acceptable FPS, resulting in units visually "jumping".
| |
|
| |
|
| |
| == See Also ==
| |
|
| |
| * [https://www.bohemia.net/blog/experimental-betas-interpolating-the-future Experimental betas - Interpolating the future] blog article
| |
| * [https://forums.bohemia.net/forums/topic/151099-scripting-discussion-dev-branch/?page=21&tab=comments#comment-2720342 Sniperwolf572 forum post] explanation
| |
|
| |
|
| |
| [[Category:Scripting Topics]]
| |