Simulation vs Render Time Scope
Topic · Markdown · JSON · original wiki page
Arma 2: Operation Arrowhead v1.60 Take On Helicopters v1.00 Arma 3 v1.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 scripting commands should be used when something is visible to the player, such as UI or on-model precision.
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).
- For visual (e.g HUD-related) operations, use the render time scope scripting commands (e.g getPosATLVisual)
- "Normal" commands (e.g getPosATL) are to be used if the position is not updated frequently and the effect is not visible to players.
<youtube height="338" width="600"> 6xUw0K292sw </youtube>
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
- Experimental betas - Interpolating the future blog article
- Sniperwolf572 forum post explanation
- Grumpy Old Man's Video Showcase