Je fais un jeu 3D à la première personne. Dois-je donner à chaque personnage son propre VBO ou dois-je regrouper tous les caractères dans un seul VBO? Quels sont les avantages / inconvénients?
Je fais un jeu 3D à la première personne. Dois-je donner à chaque personnage son propre VBO ou dois-je regrouper tous les caractères dans un seul VBO? Quels sont les avantages / inconvénients?
Réponses:
C'est vraiment un choix entre performance et flexibilité, mais je vais énumérer mes opinions à ce sujet.
Un seul VBO
Les côtés positifs sont:
et les côtés négatifs sont:
VBO individuel: s
Les côtés positifs sont:
et les côtés négatifs sont:
Résumé
Je vous recommande de profiler votre application; obtenez votre véritable goulot d'étranglement dans les données que vous pouvez voir. L'optimisation prématurée peut être montrée (dans ce cas) comme inutile. Cependant, cela étant dit, si vous découvriez une réelle perte de performances dans votre application, compte tenu du scénario individuel de VBO: s , vous pouvez commencer à implémenter un seul VBO.
Cependant, tant que ce n'est pas nécessaire (le nombre d'objets est faible, peu de changements d'état dans l'ensemble, etc.), je recommanderais d'utiliser des VBO individuels, sauf si vous voyez que cela ne fonctionnera pas.
Éditer
J'ai oublié de mentionner que ce serait bien avec plusieurs appels de tirage. La chose la plus importante en période critique de performances est de maintenir les changements d'état au minimum. Vous pouvez simplement définir le nombre d'indices à traiter et un décalage pour chaque appel de tirage, et c'est très bien. Mais cependant, gardez les changements d'état aussi bas que possible et faites le moins d'appels possibles, c'est le grand bonjour de cette réponse, ou du moins ce que j'ai essayé de dire.