> For the complete documentation index, see [llms.txt](https://devmosaic.gitbook.io/devmosaic/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://devmosaic.gitbook.io/devmosaic/resources/devmosaic-ox-fuel-rework/performance.md).

# Performance

What to change, and in what order, if players report frame drops at stations.

Each visible pump screen is a live browser surface. Identical idle pumps share one surface between them, so a nine-pump station usually runs one or two rather than nine - but a busy forecourt is still the heaviest thing this resource does.

### If Players Report Frame Drops

Change these in order. The first one usually settles it.

{% stepper %}
{% step %}

#### Lower `displayQuality`

```lua
displayQuality = 0.5,
```

Halves the resolution of every pump screen, cutting screen memory and drawing cost to roughly a quarter. On a pump a few metres away the difference is very hard to see.
{% endstep %}

{% step %}

#### Pull the screens in

```lua
stationDisplayMargin = 10.0,
displayDistance = 15.0,
```

Fewer pumps light up at once. Players will see screens switch on as they arrive rather than from across the road.
{% endstep %}

{% step %}

#### Pull the models in

```lua
streamDistance = 40.0,
```

Nozzles and hoses on other players stop drawing further out. This only affects what you see of other people, never your own.
{% endstep %}
{% endstepper %}

### What Not To Change

| Setting               | Why leave it                                                                   |
| --------------------- | ------------------------------------------------------------------------------ |
| `displayReleaseDelay` | Lowering it makes screens flicker on and off as players move.                  |
| `reachGraceMs`        | Lowering it makes the hose pull loose during ordinary arm movement.            |
| `interactionDistance` | Lowering it makes the nozzle hard to pick up. It is not a performance setting. |

### Server Cost

The server side is light. It holds one small session record per player currently using a pump, and runs a cleanup pass every five seconds. There is no database access and no SQL.
