2

I'm building a rendering system that makes heavy use with instanced rendering. As I understand, instanced rendering is generally more efficient as it allows you to reduce total draw calls and the amount of raw vertex data you have to store on the GPU.

I would expect that, at some point, instanced rendering develops overhead compared to simply sending in raw vertex data. My current drawing system will result in many instances (thousands) of very small pieces of vertex data (6 vertices each).

Instanced rendering fits my drawing system very nicely and allows me to avoid generating any "redundant" vertex data, but I'm concerned that drawing this number of tiny instances places extra strain on the GPU. Is this the case?

lcmylin
  • 2,552
  • 2
  • 19
  • 31
  • What is "extra"? "Extra" would have to be in relation to something, eh? –  Aug 12 '15 at 20:16

1 Answers1

1

It is the case. https://devforums.apple.com/message/1136832#1136832

For optimal performance, you must process a multiple of 32 vertexes at a time. As such, your best compromise between simplicity and efficiency is possibly to draw 16 of your thingies per instance.