Version: Unity 6.3 Beta (6000.3)
Language : English
Optimize rendering lots of objects
Choose a method for optimizing draw calls

Introduction to optimizing draw calls

Optimizing draw calls speeds up rendering, by reducing how often the CPU sends information to the GPU.

By default, each 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
needs its own draw call. A draw call has the following steps:

  • Update the render state. The CPU uses the graphics API to prepare and send everything the GPU needs to draw the mesh. For example shaderA program that runs on the GPU. More info
    See in Glossary
    code, textures, and buffers. This is the most CPU-intensive step.
  • Submit a draw call. The CPU uses the graphics API to tell the GPU what to draw.

If you optimize draw calls, Unity groups data and meshes that use the same render state. As a result, Unity updates the render state less often, and submits multiple objects in single draw calls.

Optimizing draw calls provides the following benefits:

  • Improve frame times, or increase the number of 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
    you can render per frame.
  • Reduce the amount of electricity your application needs. For battery-powered devices, this reduces the heat the device produces and the rate at which batteries run out.

Types of draw call optimization

Draw call optimization methods in Unity work in one of the following ways:

  • Drawing multiple copies of a mesh in one draw call, using the hardware capabilities of the GPU. This is GPU instancing.
  • Using another technique to reduce render state updates, such as large GPU buffers. This is how the Scriptable Render PipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info
    See in Glossary
    (SRP) Batcher works.
  • Combining meshes that use the same render state and drawing them together. This is batching.

For more information, refer to Choose a method for optimizing draw calls.

Additional resources

Optimize rendering lots of objects
Choose a method for optimizing draw calls
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961