L'instanciation améliore les performances (de manière significative) lors du rendu de plusieurs copies (des centaines de milliers?) Du même maillage à la fois. Mais combien de temps faut-il pour rendre exactement une copie avec un appel de tirage? Serait-ce une bonne ou une mauvaise idée d'utiliser l'instanciation pour toute la géométrie rendue par le moteur?
Edit: Disons que nous créons un jeu FPS. La plupart des objets n'ont qu'un seul exemple: un couteau, une arme à feu, une mitrailleuse, un bâtiment et une tour radio. Mais il y a aussi des objets avec plusieurs instances: des arbres (par exemple 3 types d'arbres avec des centaines d'instances), de l'herbe, etc. et l'herbe en utilisant l'instanciation, nous les rendons tous en utilisant l'instanciation. Donc, notre tour radio n'a qu'une seule instance (dont nous stockons les informations dans un tampon de données d'instance) et nous rendons cette tour en utilisant une sorte d' DrawInstanced()
appel avec un nombre d'instances égal 1
. Même chose avec tous les autres objets (bien sûr, les arbres et l'herbe ont plusieurs instances).
Ma question est donc: est-ce une mauvaise idée de dessiner une seule instance d'un objet en utilisant l'instanciation? L'instanciation a-t-elle trop de surcharge (en termes de mémoire et de performances) ou est-elle en aucune façon indésirable pour le rendu d'objets à instance unique?