GPU Instancing + Particle System

Hi all

When I add multiple times the same particle system in my scene, the number of draw calls increase (in red in the attached picture), as well as the number of Dynamic Batched Draw Calls (in blue in the picture).

My first question is : why both the draw calls and the batched draw calls increased ? The batched draw calls should prevents the draw calls to increase, right ?

My second question is, is there a way to get GPU instancing for the particles, rather than dynamic batching ? (My material is compatible with GPU instancing).

Thanks

3243123--249382--particle_batching.png

What does your particle system effect look like? How many different emitters and materials is it made up of?

A common issue is :

Instancing is not currently supported. We have support for mesh particle instancing in development however general billboard particle instancing is not coming, it was not found to be any faster than our current implementation. Platform roadmaps | Unity

2 Likes

Thanks for the reply.

I use a Mobile/Particles/Additive Material, with Alpha Texture set to Input Texture Alpha. Therefore, as you guess, there is some transparency.
The particle system use the Emission, the Shape and Renderer modules. I add a screen to my reply.

Maybe the behavior is correct. But, I so, I’m not sure to understand what is included inside the Draw Calls number.

Draw calls and Batches are different things. We are trying to make this clearer inside the Frame Debugger in a future version of Unity.

For a batch of particle systems, the material setup is done once, and then a draw call is submitted for each system.