Lou Montana/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Fix citation needed position)
m (Cleaning)
Tag: Replaced
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]]

Revision as of 22:55, 16 August 2019