Hello, I would like to clarify what the differences are and which one offers the best performance?
Assuming my project only needs 1 shader and 1 material but differend meshes, the game objects then use different settings on the material (material property blocks)
My idea for a high-performance method would be to use as few SetPass calls and batches as possible and to send as little data as possible between CPU & GPU.
Please correct me, if I am wrong.
Why indirect methods? My knowledge says that such a higher number can be grouped into a batch.
Indirect and procedural are equal in performance level.
Now functions do not need a CPU readback and are therefore more effective?
One feature is the difference in name, between Draw & Render, what does that mean?
RenderMeshIndirect (300.000 Spheres = 13 FPS on my PC)
DrawMeshInstancedProcedural (300.000 Sphere also 13 FPS)
The CPU says 75ms and GPU is by 0,8ms, the profiler says:
- Gfx.WaitForPresentOnGfxThread / Semaphore.WaitForSignal causes this
i think that means CPU is waiting for the GPU?
DrawProceduralIndirectNow (not tested now)