If I choose to render only the visible instances, I have to open the instancing render buffer and upload the instancing data for the visible instances. The problem is just, that for each shadowmap this has to be done again, then for reflections, etc. A hell of a lot of locking the render buffer, uploading data and then rendering - every single frame.
I thought about it, and wondered if it is even worth it. Can I not just throw everything at the card? What kind of tradeoffs would each strategy entail?
I recon, that it also depends on the number of instances that are not visible, but what amounts are we talking about before it is no longer feasible to not optimize?
I have an object oriented system, that the rendering works in, and if I have to sort, then we are also talking a number of virtual calls before the hardware-specific call (DirectX 9 in my case) is reached, as the platform-specificness has been abstracted away. These calls (calls to 3 virtual-hierarchies for each setting of renderbuffer, not too much) may also be a factor in evaluating the feasibility, though Im unsure if the factor is so small, that it can be ignored - it is every single frame, after all.
Edited by QNAN, 21 November 2012 - 02:25 PM.