Historique des modifications - Message

Message #9907

Sujet: Charger des meshes ou des textures... pour les décharger de la mémoire


Type Date Auteur Contenu
Création du message 18-03-2011 15:06:34 Metallizer
Salut à tous,

J'aimerais récolter des avis et éventuels conseils sur comment charger des mesh et des textures pour une scène.

Jusqu'à maintenant, j'utilise IVideoDriver::getTexture() pour les textures et ISceneManager::getMesh() pour les meshes.
Mais ces fonctions permettent donc d'obtenir un pointeur vers des textures ou des meshes et si ces derniers ne sont pas encore chargés, ils le sont grâce à ces fonctions.
Aussi pratique que soit getTexture et getMesh, je me suis posé la question de l'occupation mémoire et si change souvent de scène, je vais me retrouver un moment avec une saturation de la mémoire dû au chargement de texture ou de meshes qui en fait ne sont plus utilisés.

Du coup j'ai voulu savoir si dans le destructeur de mes scènes, je ne pouvais pas explicitement décharger les textures et meshes qui ont été chargés au début de ces dites scènes.
Vu qu'on ne peut pas "dropper" les pointeurs obtenus par des fonctions "get", j'ai cru que je pouvais en revanche utiliser IVideoDriver::removeAllTextures() mais son comportement est étrange, certaines textures sont déchargés, mais quand je reviens sur la scène que je venais de quitter, elles ne se rechargent pas, pire, ça finit en faute de segmentation au bout de quelques allers retours.

Voilà du coup mon interrogation est de savoir comment faire pour décharger les textures qui l'ont été, sans oublier celles qui ont été chargées grâce à un fichier matérial fourni à côté du mesh, ce qui arrive très souvent. Idem pour les meshes, comment les charger de la mémoire ?

Peut être que la procédure de chargement doit être refaite... mais comment ?

Merci d'avance pour vos réponses.

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
190 invités en ligne
membre en ligne: -
RSS Feed