Q:

For a particle system in DirectX, is it faster to draw a single mesh using a dynamic vertex buffer or to draw many independent quads?

I was following a tutorial for a particle system and found that it combines all the particles every frame into a single mesh using a dynamic vertex buffer. I was wondering, wouldn't it be better to render the particles using independent quads so I wont have to use the dynamic buffer? which I understand is not so efficient.

A:

Could you give a link to the tutorial? What DX version are you using?
I think that the best would be technique called instanced rendering (DrawInstanced(...) on device in DX11)
Here is a sample
http://www.rastertek.com/dx11tut37.html
The idea is fairly simple. You have one instance of geometry (only 4 verts for a quad) and one texture in the GPU memory and then you render it multiple times sending only dynamic data (like, transformation matrix, alpha value etc.). This technique is used for many things, not only particles.
Best Regards

