Skip to content
Intermediate

Measure and Improve Game Performance

Reproduce a performance problem, profile the target build, test one focused change and retain comparable measurements with regression coverage.

programmerstechnical artists

Workflow

  1. Define the performance problem and a repeatable run

    Record the player-visible symptom, target hardware, build revision, scene, input sequence and quality settings. Choose measurable acceptance conditions for that scenario. Convert a chosen FPS target to its frame interval, but retain individual frame times and slow-frame evidence; an average can hide stutter.

  2. Capture the actual bottleneck on the target

    Profile the built game on the intended device and collect CPU, GPU, memory/allocation and relevant I/O observations. Identify the frame or phase that exceeds the acceptance condition and trace the work causing it. Check synchronization before adding CPU and GPU timings together; overlapping pipelines do not form a simple summed budget.

  3. Use a narrow calculation to test a specific explanation

    If CPU submission work is limiting, compare a chosen time allowance with an observed cost per submission. If a texture is implicated, inspect its actual format and exact mip data. For a resolution change, compare pixel counts with a stated reference. For particle storage, enter the allocated layout and copies. Select only the model that matches the evidence.

  4. Change one cause and compare equivalent runs

    Apply a focused change with a reversible revision, then rerun the same input sequence and measurement conditions. Compare the relevant timing distribution, resource measurements and visible quality. Look for shifted costs such as load time, memory, artifacts or input response; an improved average in one scene can conceal a regression elsewhere.

  5. Check representative scenes and sustained play

    Generate named build/configuration/test combinations for startup, representative scenes, transitions, stress content and extended sessions. Record actual outcomes and reproduction evidence, including accessibility and quality settings affected by the change. Mark excluded cases with a reason and keep unresolved failures visible.

  6. Keep a baseline that can be checked after future changes

    Document the symptom, measured cause, change and final acceptance evidence. Save the comparison note, profiler captures and complete matrix backup with the build revision. Assign an owner to repeat the relevant measurement when assets, engine versions or rendering code change.

Tools Used

Checklist

0 / 6 completed

Loading your checklist…

Baseline

Capture

Change

Tradeoffs

Coverage

Maintenance

Reference Materials

Profile on the target platformStandard

Unity documents collecting performance data from the release platform rather than relying only on editor behavior. Record the target, build and collection settings used for your comparison.

Before-and-after evidenceTable

Keep the same workload when comparing a focused change.

ItemRecord
Run identityBuild, device, scene, input sequence and quality settings
MeasurementRelevant frames, timings, allocations or I/O observations
InterventionOne changed cause and its revision
OutcomeAcceptance result, visible quality, tradeoff and regression coverage
Interpret timing carefullyStandard

A reciprocal FPS conversion supplies one interval. It does not reveal a frame-time distribution, input latency or the interaction of CPU and GPU work.

  • Optimize the measured cause

    A low draw-call count is not a success criterion when the actual bottleneck is elsewhere.

  • Retain slow-frame evidence

    Compare the frames players notice as well as aggregate measurements.