performance-optimization
Performance optimization
Consume the targets and measurement setup from performance-budget; this skill does not invent a second budget.
Diagnose the critical path
- Reproduce the miss with the same device/build/scene/settings used by the budget.
- Inspect p50/p95/p99 frame-time and hitch traces, not only averages.
- Determine whether the present interval is CPU-bound, GPU-bound, synchronized/stalled, allocation/GC-bound, streaming/IO-bound, or memory-pressure-driven.
- Within the failing side, find the dominant critical-path bucket before selecting a lever.
- Change one bounded cause, rerun the identical capture, and compare both the target metric and guardrails.
CPU and GPU timings overlap; optimize the path that gates presentation rather than summing unrelated buckets. A GPU reduction does not improve frame time when the frame is still CPU-bound, and vice versa.
Levers
Typical levers include culling/off-screen work, batching/submit cost, overdraw, shadow/reflection cost, particle counts, simulation/AI frequency where design permits, allocation removal, streaming scheduling, LOD/impostors, texture/resolution policy and shader/material complexity. Pick based on evidence, not a universal order.
Do not change hitstop, input windows, acceleration, cooldowns or other gameplay timing to disguise a performance miss. Quality reductions are named costs and must still satisfy readability/accessibility guardrails.