0
0
Unityframework~8 mins

Canvas and render modes in Unity - Performance & Optimization

Choose your learning style9 modes available
Performance: Canvas and render modes
HIGH IMPACT
This concept affects how UI elements are rendered and how often the UI system recalculates and redraws, impacting frame rate and responsiveness.
Rendering UI with multiple canvases and dynamic elements
Unity
Use multiple smaller Canvases with Screen Space - Camera or World Space render modes, isolating dynamic elements to reduce redraw scope.
Only the Canvas with changed elements redraws, reducing the rendering workload and improving frame rate.
📈 Performance GainReduces redraws from full UI to partial, improving frame rate and input responsiveness.
Rendering UI with multiple canvases and dynamic elements
Unity
Canvas render mode set to Screen Space - Overlay with many UI elements in one Canvas, frequent changes trigger full Canvas redraws.
All UI elements in one Canvas cause the entire Canvas to redraw on any change, leading to many re-renders and frame drops.
📉 Performance CostTriggers full Canvas redraw on every UI change, causing frame rate drops especially on complex UI.
Performance Comparison
PatternDOM OperationsReflowsPaint CostVerdict
Single large Canvas with many dynamic elementsHigh (all elements processed)High (full Canvas redraw)High (many draw calls)[X] Bad
Multiple smaller Canvases isolating dynamic partsLow (only changed Canvas processed)Low (partial redraw)Low (fewer draw calls)[OK] Good
Screen Space - Overlay for simple static UILowLowLow[OK] Good
World Space Canvas for complex 3D UIMediumMediumMedium[!] OK
Rendering Pipeline
UI elements are batched and rendered based on the Canvas render mode. Screen Space - Overlay renders directly on top, Screen Space - Camera renders via a camera, and World Space renders in 3D space. Changes in UI trigger Canvas rebuilds and redraws.
Layout
Canvas Rebuild
Draw Calls
Composite
⚠️ BottleneckCanvas Rebuild and Draw Calls when many elements are in one Canvas and frequently updated.
Core Web Vital Affected
INP
This concept affects how UI elements are rendered and how often the UI system recalculates and redraws, impacting frame rate and responsiveness.
Optimization Tips
1Avoid putting many dynamic UI elements in a single Canvas to reduce full redraws.
2Use multiple Canvases to isolate dynamic UI and minimize redraw scope.
3Choose Canvas render mode based on UI complexity and interaction needs.
Performance Quiz - 3 Questions
Test your performance knowledge
What happens if you put many dynamic UI elements in a single Canvas set to Screen Space - Overlay?
AThe entire Canvas redraws on any change, causing performance drops.
BOnly changed elements redraw, so performance is optimal.
CUI elements render in 3D space automatically.
DCanvas ignores changes and does not redraw.
DevTools: Unity Profiler
How to check: Open Unity Profiler, select UI module, observe Canvas rebuild and draw call counts during UI interaction.
What to look for: High Canvas rebuild times and many draw calls indicate poor Canvas setup; aim for lower rebuild times and fewer draw calls.