Version: Unity 6.4 Alpha (6000.4)
Language : English
Make a GameObject compatible with the GPU Resident Drawer in URP
BatchRendererGroup API in URP

GPU Resident Drawer performance considerations

How much the GPU Resident Drawer speeds up rendering depends on your sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
. The GPU Resident Drawer is most effective in the following setups:

  • The scene includes numerous objects, which results in a high number of draw calls. This negatively impacts CPU performance.
  • Multiple GameObjectsThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
    See in Glossary
    use the same meshThe main graphics primitive of Unity. Meshes make up a large part of your 3D worlds. Unity supports triangulated or Quadrangulated polygon meshes. Nurbs, Nurms, Subdiv surfaces must be converted to polygons. More info
    See in Glossary
    and the same material shaderA program that runs on the GPU. More info
    See in Glossary
    variant. As a result, Unity can group them into a single draw call.

Rendering usually speeds up more in Play mode or the final built project than in the Scene or Game views.

Ways to speed up the GPU resident drawer

To speed up the GPU Resident Drawer, try one of the following methods.

Disable static batching

  1. Go to Project Settings > Player.

  2. In the Other Settings section, disable Static BatchingA technique Unity uses to draw GameObjects on the screen that combines static (non-moving) GameObjects into big Meshes, and renders them in a faster way. More info
    See in Glossary
    .

Use a fixed lightmap size and don’t set limits to mipmaps

  1. Go to Window > Rendering > Lighting.

  2. In the Lightmapping Settings section:

  3. Enable Fixed LightmapA pre-rendered texture that contains the effects of light sources on static objects in the scene. Lightmaps are overlaid on top of scene geometry to create the effect of lighting. More info
    See in Glossary
    Size
    .

  4. Disable Use Mipmap Limits.

GPU performance

GPU Resident Drawer improves CPU performance, but it slightly increases GPU workload. Lower-end mobile or VRVirtual Reality More info
See in Glossary
platforms experience this effect more strongly. If your application is GPU-bound, overall frame time might increase when you enable GPU Resident Drawer.

When using GPU Resident Drawer, consider the following:

  • GPU draw call performance: Monitor both vertex and fragment processing stages for potential performance impacts.
  • Overdraw: Merging objects into a single instanced draw call can lead to increased overdraw, particularly on non-tiled GPUs commonly used in desktops and consoles. To help reduce this overdraw, set Depth Priming Mode to Auto or Forced when using the Forward+ rendering pathThe technique that a render pipeline uses to render graphics. Choosing a different rendering path affects how lighting and shading are calculated. Some rendering paths are more suited to different platforms and hardware than others. More info
    See in Glossary
    .

Analyze the GPU Resident Drawer

To analyze the results of the GPU Resident Drawer, you can use the following:

Additional resources

Make a GameObject compatible with the GPU Resident Drawer in URP
BatchRendererGroup API in URP