Skip to main content

Optimization

Optimization is a critical part of developing a PlayCanvas application. It can mean the difference between a great user experience and a terrible one.

tip

Don't wait until a project is near completion before you consider optimization. Be thinking about it from the start. It may meaningfully impact how you design your application.

Let's begin by establishing the key goals for optimization and highlight why each goal is important:

GoalWhy it matters
⏱️ Minimize load timeYour users have limited patience. If your app does not load quickly, they may give up waiting and go elsewhere.
🎞️ Maximize frame rateA high (and stable) frame rate makes for pleasing visuals and low latency response to user input.
🔋 Minimize CPU and GPU loadJust because your app maintains 60 frames per second does not mean your work is done. Reducing processor load preserves battery power and keeps devices running cool.
🧠 Minimize memory utilizationBrowsers allocate a limited pool of memory to applications. Once this pool is exhausted, the tab will crash and reload. Your users will be upset!

Measure Before Optimizing​

Choose a repeatable scene or interaction, record a baseline on the target device, then measure each change under the same conditions.

ToolUse it for
MiniStatsWatching frame time, CPU/GPU costs and GPU resource memory while interacting with the application.
Profiling with AppStatsReading public statistics from code and collecting reports for dashboards, agents and automated comparisons.
Editor ProfilerInspecting the Editor Launch profiler, including asset loading and shader compilation timelines.
GPU ProfilingCapturing frames with native GPU tools for detailed rendering investigations.
InspectorFinding where video memory goes, which passes and draws a frame makes, and what each mesh and material uses, in the running application.
AI

Give an AI assistant a performance goal, repeatable scenario and baseline reports from AppStats. It can combine these with MiniStats or browser evidence and propose one measurable change at a time. Use the Editor MCP Server to replay Editor input or follow Developing with AI for standalone projects.