What is simulation lag?

Simulation is literally everything that you see happening in the game. Any time a Sim gets a glass of water, when a toilet breaks, when a plant grows, when weather changes, when a visitor invades your house, the game has to plan it and execute it by simulating the entire process. It's a complex system that can stop working correctly for many different reasons.

Although it might not seem like that's true sometimes, the game does the best it can with the resources it has to perform the simulation as smoothly as possible.

Lag can be recognized when the game still continues to work, yet every action takes a really long time to begin or to process. Sims should still be able to initiate actions, fulfill them, and finish performing these actions. It's when things feel sluggish or unresponsive for a couple of seconds.

Simulation lag has absolutely nothing to do with your game graphics rendering framerate being low or inconsistent. That process is entirely disconnected from the game simulation.

What can cause simulation lag?

Most of the users will perceive lag as Sims slow response to perform actions. Sims are always attempting each and every possible action they can perform, on each and every possible Sim and object in the world and their inventory, within the limitations of their current situation, traits, moodlets, and relationships.

Volume of Actions

Sims are usually spawned with limited purpose and only care to do the things that fit the reason they were spawned for (like a Bartender only standing behind the bar or a random Sim walking by the neighborhood), which usually makes them the least lag-producing culprit. The opposite is true for the Sims you play as, and Sims that spawn as a visitor or resident, they can do everything, anywhere, with anybody and anything. The game limits you to a maximum of 8 playable Sims, with a limit of 20-ish Sims within the loaded zone. Even on a densely populated by objects location, this shouldn't be an issue for most computers to run smoothly. It's unlikely that Sims simply existing will cause major simulation lag, but that is something you can suspect on an older computer.

Sims with a limited purpose are mostly recognizable by their role displayed as the red text above their name.

Intrusive Actions

Although a big number of Sims present at once might not immediately cause lag, their actions can. Sims always attempt to do something, and what they decide to do depends on their situation, traits, moodlets, and relationships.

Sims themselves are a dynamic element that affects the world and other Sims, even if they are on the other side of the zone. Autonomy doesn't exactly predict what will happen, so it can make mistakes that result in wasted computation time.

Problematic Mods

Autonomy is driven by moodlets (the visible ones and the invisible ones). Moodlets come mostly from traits and the situation a Sim is in, and they provide a list of reasons why Sims should do certain things. These reasons are the only thing that drives Sims' decision-making. Autonomy looks at the available choices, picks something relevant and with high priority, and goes with it. If a mod provides a lot of these reasons, makes them often relevant and prioritized, it can result in other actions being frequently ignored, interrupted, or overridden to be a lower priority. This results in intended gameplay simply not working.

It's very easy to make Sims do new things, but it's very hard to keep a balance that properly co-exists with the rest of the game. This becomes extra difficult once multiple mods are mixed together.

How to fix simulation lag?

Unfortunately, there is no magic solution for lag. Computing takes time, and sometimes it can take too long, resulting in lag. You will always have the best performance when running the game by itself, without any mods... but that's boring. So the best solution is to find the source of lag and eliminate it by removing or adjusting the mods that produce it. If you're not using any mods, then your best bet is to reduce the number of interactive objects.

There is no easy way of testing specifically what could be affecting the performance of your game. In some cases, it's a general issue related to the volume of available possibilities, or it can be the high number of mods present in your game rather than a particularly problematic mod or two. The following instructions are meant to teach you about the basic performance of the game and pinpoint one or two mods that could be a source of lag.

Begin by downloading and installing the 101 Diagnostics mod. This mod will allow you to read some useful information while in-game.

Download 101 Diagnostics

This is a TS4SCRIPT file, so place it directly into the Documents\The Sims 4\Mods folder.

How to use the 101 Diagnostics Mod?

The 101 Diagnostics mod displays information about the game state and the clicked Sim. To understand where the lag could be coming from, you need to understand what each displayed variable means.

To display the 101 Diagnostics dialog window, click on any Sim and find the '101 Diagnostics' option.

Tickrate (should be less than 50ms)
Tickrate is the amount of time it takes the game to process one simulation update. The displayed value is an average based on the last 100 simulation updates. Values below 50ms mean that the game is performing optimally. Anything above 100ms is considered high and indicates that the simulation is lagging. A high Maximum value indicates sporadic spikes of lag, which are fine if the average Tickrate value is below 50ms.
Continue reading to learn what causes high Tickrate values.

Time Speeds (diagnose only when running the game at normal speed)
Time Speeds is a list of time speeds during which the diagnostic data was collected. You should always collect diagnostic data when running the game at normal speed. Running the game at a higher time speed than normal will always result in incorrect diagnostic values.
Running the game at normal speed will always result in the best simulation performance.

Time Desync (should be less than 1500ms)
Time Desync is the amount of difference in time before processing and after processing of simulation. Time can get progressively desynchronized as simulation gets overloaded with tasks to process, which most commonly occurs when running the game on double or triple speed. Ideally, the difference of time should be 0ms, but anything below 1500ms means that the difference in time is less than an in-game minute. Once the time difference reaches 10000ms and persists for 10 seconds, the game enters Low-Performance Mode, slowing time down, which is most noticeable when running the game on triple speed for an extended period of time.
Continue reading to learn what causes high Time Desync values.

Runtime (amount of time since last loading screen)
Runtime is the amount of time in minutes since the last loading screen, as the simulation resets after each loading screen. All diagnostic values should persist in relatively the same state, not increasing and not decreasing in any substantial amount, as you continue to play the game. Any substantial increase in any of the displayed diagnostic values could indicate a problem in relation to what that value represents.
Continue reading to learn what certain diagnostic values represent.

Time Scale (should be 25ms)
Time Scale is the speed at which the game time progresses. Mods are capable of modifying the Time Scale values, making the game time faster or slower, which can have a negative impact on the simulation performance. If the Time Scale value is less than 25ms, the game will be running faster, which requires it to process simulation faster and result in high Tickrate and high Time Desync (lag).
It's recommended not to modify the game time speed.

Mods (number of loaded mods)
Mods are usually not a direct source of lag, but their high number can indicate that the game simulation is potentially affected by it. The displayed in parentheses number indicates the number of loaded script mods.
High number of mods that contribute to gameplay mechanics can affect simulation performance.

Errors (number of occurred errors)
Errors are a pretty good indicator of the game not working correctly. Although not all errors will impact simulation performance, a high number of errors will usually result in the game failing to perform all of its tasks which negatively affects simulation. Most of the time, errors result from installed Mods for reasons like outdated or broken files, outdated or broken code, conflicts, and incompatibility between the mods version and game version.
Problematic mods need to be identified and updated if possible or removed.

Timeline Heap (number of simulation tasks)
Timeline Heap is the collection of all the tasks the simulation has to process. It mainly consists of Active element tasks, scheduled Alarm elements, and Garbage elements to clean. The Timeline attempts to process at least one Active or Alarm element which happens every simulation update (look Tickrate).

Due to the game processing one element per simulation update, if the Timeline Heap consists of many Active elements and the Tickrate is high, the number of Active tasks multiplied by the Tickrate can result in a long total processing time, which is one of the main reasons for Sims to idle. Otherwise, Sims might not be idle but instead of waiting or stuck caused by other factors.
High number of Active tasks mostly comes from the high number of Sims present in the loaded world zone.

Active Sims (number of Sims)
Active Sims is the number of Sims that are currently present in the loaded world zone and the maximum number of Sims that can be present in the loaded world zone, which is usually 20. Household is the number of Sims in the household and the maximum number of Sims that can be in the household, which is by default 8. World is the total number of Sims in the entire game save and the total number of households in the entire game save. Usage of Mods to extend the limit of Sims present in the loaded world zone or in the Household can be a source of increased number of Timeline Heap Active Tasks which can result in lag.
It's recommended to keep the loaded Sims limit to 20 and the household limit to 8.

Active Interactions & Autonomy Requests (number of actions Sims are performing)
Sims that are present in the loaded world zone will request a task from the autonomy service, by creating an Autonomy Request, and receive that task which becomes their Active Interaction. Requesting an autonomy task can be a heavy process and it is handled by the Timeline Heap as an Active element. The amount of time it takes to process an Autonomy Request depends on the number of Active Sims and Active Objects, which are present in the loaded world zone. The number of Autonomy Requests depends on the number of Active Sims and how often they need to find a new task to perform.
High number of Active Sims, Active Objects, and Autonomy Interactions increase the processing time of Autonomy Requests.

Active Objects (number of objects)
Active Objects is the number of interactive autonomous objects and the number of all objects (interactive and non-interactive). The interactive autonomous objects are the only objects present in the loaded world zone that Sims will attempt to interact with. Autonomy Interactions is the total of unique interactions available on interactive autonomous objects that are considered when performing an Autonomy Request. Sims that request an autonomous task will consider interacting with every available interactive object using every possible autonomous interaction. High number of interactive objects and autonomous interactions increase the amount of time it takes to process every Autonomy Request which can result in a high Tickrate. Operating Objects is the number of objects that perform a task on their own, without the involvement of Sims. These objects periodically or continuously perform a task (like growing as a plant) which is handled by the Timeline Heap as a scheduled Alarm element.
High number of interactive autonomous objects and operating objects can increase the Tickrate and processing time of Autonomy Requests.

Whether you use mods or not, the information presented above can be useful to recognize basic simulation issues that could lead to lag. The instructions below are mostly useful for users with mods.

Sim State (their active interactions)
Sims that are doing something, are performing an interaction. In a simple way, interactions are divided into three main types - current posture, main task, and an optional mixer for the main task or current posture. Posture is Sim's current state of body, like standing, sitting, or swimming. The main task is something a Sim is actively doing, like washing hands, walking, or having a conversation. A mixer is an additional task to the already existing main task, like talking about the weather while in a conversation or doing different poses while looking into a mirror.

If you suspect a Sim is doing something suspicious, you should be able to see what it is on the Sim State list. Most commonly Sims will stand around idle for a long time waiting for another Sim to walk up to them for a conversation, which can be recognized by a 'chat' or 'social' word in the interaction name.

Sim Situations (their active situations)
Sims don't exist without a reason, unless they are currently playable. Situations are the main reason for a Sim to appear and perform actions, as Sims without a Situation will leave the loaded world zone. Every Situation comes with a role (displayed in parentheses) that defines Sim's purpose. Situations are one of the main sources of Moodlets with Gameplay Modifiers that adjust Sim behavior, but the names of the current Gameplay Modifiers might not be enough to recognize the reason for Sim existence and purpose.

If you're questioning why a Sim has shown up and what they are meant to do, you should be able to see it on the Sim Situations list.

Sim Gameplay Modifiers (their active gameplay behavior modifiers for autonomy)
Sims autonomy behavior is dependent on Gameplay Modifiers that come from Moodlets (Buffs). Not all Moodlets come with Gameplay Modifiers, but all Gameplay Modifiers come from Moodlets. Most of the Moodlets that provide a gameplay modifier are invisible, but usually come from a visible source. Moodlets can be received from many different sources - traits, situations, relationships, interactions, weather, surroundings, etc. The name of the Moodlet indicates its general purpose and should be a decent indicator of the way it modifies autonomy behavior.

If a Sim is behaving oddly, by refusing to perform certain activities or by prioritizing certain activities over other activities, you can check if there's a Moodlet that would explain it on the Sim Game Modifiers list. Moodlets introduced by mods have a highlighted name, as they may have the most impact on Sim's behavior due to imbalanced implementation.