---
name: "Simulation vs Render Time Scope"
type: topic
source: https://community.bistudio.com/wiki/Simulation_vs_Render_Time_Scope
revid: 341449
updated: 2023-05-29T12:46:10Z
---

# Simulation vs Render Time Scope

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](../commands/getPosATLVisual.md))
- "Normal" commands (e.g [getPosATL](../commands/getPosATL.md)) 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>

[Video Showcase](https://www.youtube.com/watch?v=6xUw0K292sw)

### 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](https://www.bohemia.net/blog/experimental-betas-interpolating-the-future) blog article
- [Sniperwolf572 forum post](https://forums.bohemia.net/forums/topic/151099-scripting-discussion-dev-branch/?page=21&tab=comments#comment-2720342) explanation
- [Grumpy Old Man](https://forums.bohemia.net/profile/832107-grumpy-old-man/)'s [Video Showcase](https://www.youtube.com/watch?v=6xUw0K292sw)

<sub>Source: [BI Community Wiki — Simulation vs Render Time Scope](https://community.bistudio.com/wiki/Simulation_vs_Render_Time_Scope) (revision 341449).</sub>
