Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

Question Does Gpu Instancing have a limit ???

Discussion in 'General Graphics' started by wolfgangmami, Jul 4, 2022.

  1. wolfgangmami


    Jul 23, 2018
    I have a simple scene with trees and I want to use Gpu Instancing. This option is powerful but no one mentioned is there a limit (Like object count or something). I assume it is limitless but I want to make sure
  2. CodeSmile


    Apr 10, 2014
    I was just yesterday peeking into this subject. I could render a 48x48x48 cube of cubes using Graphics.RenderMeshInstanced at 90 fps (just using DrawMeshNow it was drawn at 8 fps and it took FBX Exporter about 15 minutes to save these 100k cubes to a file).

    I found another user’s test project where quads are drawn using a compute shader which threw a „something above 65535“ error when drawing just over 4 million quads. I think those limits are reasonably high.

    There‘s also an example without ComputeBuffer and with MaterialPropertyBlocks which had a limit of 1023 meshes in one call. This also ran a lot slower compared to ComputeBuffer, too, since data needs to be transferred to the GPU whereas ComputeBuffer creates the data with and on the GPU to begin with. However I don‘t know whether this works as well on limited hardware (mobile, VR, anything by Nintendo).

    This is the article, highly recommended:
    Link to github project is at the very end.