Simulation vs Render Time Scope: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Remove WIP)
Line 24: Line 24:
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 the [[:Category:Render Time Scope Scripting Commands|Render Time Scope scripting commands]] (e.g [[getPosATLVisual]])
* For visual (e.g HUD-related) operations, use the [[:Category:Command Group: Render Time Scope|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.


Line 30: Line 30:


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



Revision as of 16:47, 15 September 2020

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 working with 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 working with 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). [citation needed]
  • 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.


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