Stasis

From ARK Wiki
Jump to navigation Jump to search

Stasis is an Unreal Engine mechanism which stops the code loop for actors (structures, creatures) that are not near online players, to cease to use unnecessary hardware resources.

Actors in stasis will not move, in case of creatures, and no physics will be calculated around them. Creatures will not lay  Eggs nor wander, gather resources, or have statistics changes. However, upon exiting stasis, creatures will resume what they were doing, and their food value will be calculated and applied, as well mating times for Fertilized Eggs laying and pregnancy times. In the case of structures, they will be loaded and physics will be applied again and where applicable the related decay times.

A player approaching an area will cause all actors inside to leave stasis, which may result in a small frame-rate drop on client side or a server lag spike in case the area covers of huge shelter building and a big amount of tames. De-stasis could cause some visual bugs at client (player) side as well, as creatures are loaded before structures. Thus, creatures may fall through the floor of a building down to the ground, as they are loaded before the structures they were standing on. Most of these issues usually get corrected few seconds later, after all structures involving the creature collision are loaded by the client.

Stasis occurs mainly for two reasons:

  • Unreal Engine was conceived as a single-player game engine, thus only what that player is near is relevant to the game.
  • As a server resources preserving measure, as if there was no stasis whatsoever the server would need to compute a multitude of collisions, movements and structures per tick, resulting in a higher memory usage and in more CPU power waste at runtime. With stasis, not only the server will use in average less hardware resources but also less electricity power and generally will perform better allowing to redirect the hardware computational power to those areas of the maps where players are actually in.