Lou Montana/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Adding TKOH, moving video link, rephrasing)
m (Small fixes)
Line 3: Line 3:


{{SideTOC}}
{{SideTOC}}
{{GVI|arma2oa|1.60|Category}} {{GVI|TKOH|1.00|Category}} {{GVI|arma3|1.00|Category}}
{{GVI|arma2oa|1.60}} {{GVI|TKOH|1.00}} {{GVI|arma3|1.00}}
== Definitions ==
== Definitions ==


=== Simulation Time Scope ===
=== Simulation Time Scope ===


'''Simulation Time Scope''' is updated on a lower frequency to save performance the more distance between the unit and the camera the lower the refresh frequency will be.
'''Simulation Time Scope''' is the '''calculated''' position of objects.
{{cn}}
* 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 ===


'''Render Time Scope''' is updated on a very high frequency (presumably on each frame).
'''Render Time Scope''' is the '''visual''' position of objects, which is rendered (''estimated'') separately from the calculated one.
The position of the unit is interpolated depending on its speed and movement direction.
* It is updated on a very high frequency (presumably on each frame).
Due to interpolation the position might not be accurate, but it's updated frequently, resulting in a smooth motion.
* The object's position is interpolated depending on its speed and movement direction.
Usually, '''Render Time Scope''' should be used when something is visible to the player.
* Due to interpolation, the position might not be accurate but it is updated frequently, resulting in a smooth motion.
{{cn}}
* 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. {{cn}}




Line 23: Line 24:
== Simulation vs Render ==
== Simulation vs Render ==


'''Simulation''' and '''Render''' cycles are separated '''since {{arma2oa}} v1.60'''.
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).
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]])
* 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.
* "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]
[https://www.youtube.com/watch?v=6xUw0K292sw Video Showcase]


 
<div style="clear: both"></div>
== Before Simulation and Render separation ==
== Before Simulation and Render separation ==


Line 42: Line 43:
* [https://www.bohemia.net/blog/experimental-betas-interpolating-the-future Experimental betas - Interpolating the future] blog article
* [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
* [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 17:24, 16 August 2019

Template:SideTOC A2 OA Logo.png1.60 tkoh logo small.png1.00 Arma 3 logo black.png1.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. [citation needed]
  • Refresh frequency is lowered the further the object is from the camera. [citation needed]=== 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).
  • 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, Render Time Scope commands should be used when something is visible to the player, such as UI or on-model precision. [citation needed]


Render Visual Time Scope.gif

Simulation vs Render

For performance concerns, Simulation and Render cycles are separated since Arma 2: Operation Arrowhead v1.60. This means that any object has now "two" positions: the computed one (simulation), and the visual one (render).

Video Showcase

Before Simulation and Render separation

From Operation Flashpoint to Arma 2: Operation Arrowhead v1.59, the simulation first updated the world's state (units position) then the visual rendering was done.
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