---
name: performance-optimisation
description: Use when the game misses frame-rate, memory, loading or battery targets, or before a milestone. Profiles on target hardware, fixes the largest costs first and guards against regressions.
---

# Performance and optimisation

Draft from the Game studio skills library by THE DREAMING JESTER. Adapt it to your game, team and engine.

## Goal

Hit the performance targets on the lowest supported hardware, and keep hitting them.

## Before you start

- Set targets: frame time, memory, load time and, on mobile, thermal and battery limits.
- Choose repeatable test scenes and camera paths, including the worst cases.

## Process

1. Profile on target hardware, not only on development machines.
2. Find whether each frame is CPU bound, GPU bound or waiting on I/O or synchronisation.
3. Fix the largest cost first. Small optimisations of cold code waste time.
4. Common wins: fewer draw calls and state changes, culling, LODs, pooling, caching, avoiding per-frame allocation and batching work.
5. Measure after every change in the same scene, and keep the captures.
6. Add automated performance tests or budgets to catch regressions.

## Quality bar

- Targets are met in the worst-case scenes on minimum hardware.
- Every optimisation has before-and-after numbers.
- Regressions are caught before they reach players.

## Output

Profiles, a ranked list of costs, the fixes with measured gains, and regression checks.

## Avoid

- Optimising by intuition without profiling.
- Trading readability for micro-gains that do not move the frame time.
