# Optimization

### Bandwidth is limited

No matter how fast the internet becomes, conserving bandwidth will always be important. Some Game Clients might be on poor quality mobile networks with low upload and download speeds, or have high ping to the Replication Server and/or other Clients, etc.

Additionally, sending more data than is required consumes more memory and unnecessarily burdens the CPU and potentially GPU, which could add to performance issues, and even to quicker battery drainage.

![](/files/-MWi5Q8V8gpDTqPRaIeG)

### Optimization techniques

In order to optimize the data we are sending over the network, we can employ various techniques built into the core of **coherence**.

* **Delta-compression (automatic).** When possible, only send differences in data, not the entire state every frame.
* **Compression and quantization (automatic and configurable).** Various data types can be compressed to consume less bandwidth that they naturally would.
* **Simulation frequency (configurable)**. Most Entities do not need to be simulated at 60+ frames per second.
* **Levels of detail (configurable).** Entities need to consume less and less bandwidth the farther away they move from the observer.
* **Area of interest.** Only replicate what we can see.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.coherence.io/manual/optimization.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
