Hello!
We’ve been recently tried this extension, and, unfortunately, couldn’t get any benefit of using it.
We wrote simple test app, where we reproduced our current pseudo-instanced render scheme: rectangular grid of NN cells, with M objects instances inside each cell. Each instance was a simple torus with V vertices.
So, we had NN draw calls, pseudo-instancing was done with vertex attributes.
Then, we used this new extension along with EXT_texture_buffer_object, NV_parameter_buffer_object and uniforms array (just to try, what is better). Because of instancing we had much less draw calls (1 call with TBO, NNM/4096 calls with param_buf_obj and NNM/1024 calls with uniforms array).
And we were dissapointed with it’s perfomance - we got FPS boost ONLY if number of instances per cell was very low (1-5 objects in cell), just like if each instance were rendered with separate draw call. In any other cases we had perfomance dropped by some percents (1%-15%).
So, we stated, that this instancing has no sense, if you already have some pseudo-instanced stable scheme. And it has sense if and only if you draw your objects with separate draw calls each.
Has anyone experienced with this extension? May be, we missed something crucial?
Appreciating your replies,
Jackis.