Learn about on-tile rendering in URP for tile-based GPUs.
Use features optimized for tile-based architecture in your project to improve performance on devices with a tile-based GPU.
On non-tile-based GPUs, rendering writes render targets to main GPU memory after each render pass. On tile-based GPUs, this creates unnecessary memory bandwidth usage because the GPU repeatedly stores and loads render target data from main memory.
With on-tile rendering, the main cameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
See in Glossary targets (for example, intermediate textures and depth buffers) remain in the GPU’s fast tile cache throughout the entire rendering pipeline. The data is only written to main memory once at the end of the frame. This reduces GPU bandwidth usage, which reduces power consumption and improves GPU performance.
To enable on-tile rendering, your project must meet the following requirements:
On-tile rendering is supported on any platform with tile-based GPUs. For XR-specific information, refer to Tile-based rendering in XR.
On-tile rendering works in Play mode when targeting supported platforms.
Note: You can enable on-tile rendering on desktop PCs with non-tile-based GPUs to use the validation system, which is useful for testing. However, it doesn’t improve your project performance.
Any feature that creates intermediate textures results in an additional final blitA shorthand term for “bit block transfer”. A blit operation is the process of transferring blocks of data from one place in memory to another.
See in Glossary pass and breaks tile-based rendering, resulting in performance issues.
Avoid the following features:
Tip: Before you enable on-tile rendering, use the Render Graph Viewer to check your current render passes and identify potential issues.
To enable on-tile rendering in your project:
When you enable on-tile rendering, the main camera targets use the backbuffer’s UV orientation and Unity displays warnings on any components with unsupported features.
Note: If your custom Renderer Features or Scriptable Render Passes are compatible with on-tile rendering, they work automatically with the on-tile renderer.
On-tile validation enforces the constraints required for on-tile rendering to work correctly. The validation is enabled by default and shares the render graph validation setting. It throws exceptions when constraints are broken.
Disable validation only when you profile performance in a development buildA development build includes debug symbols and enables the Profiler. More info
See in Glossary. It’s automatically stripped in release builds so there’s no performance impact.
To disable validation:
Warning: If you disable validation, on-tile constraints can be violated without displaying errors, which can cause silent performance regressions.
Use the Render Graph Viewer to inspect the actual graph on your target device.