Je suis à la recherche d'algorithmes plus intelligents pour gérer les VBO dans OpenGL. En l'état actuel des choses, je stocke actuellement chacun de mes modèles dans des VBO de 4 Mo. En ce moment, je stocke actuellement chacun de mes modèles dans des VBO de 4Mo. Si le modèle est supérieur à 4 Mo, il est stocké séparément. Les objets sont stockés de sorte que les modèles sont regroupés pour réduire le nombre de liaisons.Algorithmes de pool mémoire
Le problème que je rencontre a été de savoir comment nettoyer les VBO inutilisés, qui ne sont que peu utilisés. Toutes les ressources sur la façon dont je pourrais mieux gérer ces pools de mémoire sont appréciées.
Je suppose que vous avez déjà essayé de créer et de détruire des VBO de la taille requise et de laisser le pilote gérer la gestion de la mémoire? (NB: 4MB! = 4096000 octets) –
@daniel: Je ne suggère pas que les VBOs ne survivent qu'une seule image, je suggère que chaque modèle a son propre VBO, au lieu de les emballer ensemble. Alors vous n'aurez pas ces VBO "les plus inutilisés". Quel genre d'application est-ce de toute façon, que les modèles sont déchargés fréquemment? –
C'est juste un défaut possible dans le système que j'utilise ci-dessus, la raison pour laquelle j'évite des VBO individuelles est pour moins de liaisons, en particulier pour les données statiques. Quant à savoir pourquoi 4mb, c'est la taille VBO recommandée par ATI/Nvidia. L'application ne va pas nécessairement faire un déchargement fréquent, mais c'est quelque chose que j'ai remarqué qui pourrait être un problème. – dcousens