Pages: 1
- Accueil forums
- » Performances/Optimisations
- » Supprimer les meshs et nodes de facon propres
27-07-2011 18:42:42
- Superjaco
- Membres
- Date d'inscription:
- Messages: 20
- IP: 109.215.157.64
- Courriel
Bonsoir,
juste une petite question :
Quel différence entre remove() et drop() ?
Si je remove() un node, et se que le mesh qui lui est associé et lui aussi vidé de la mémoire ?
Sinon, comment faire ?
Merci.
Hors ligne
30-07-2011 09:34:45
- mysterious
- Membres
- Date d'inscription:
- Messages: 21
- IP: 90.45.233.84
- Courriel
Salut,
voici quelques liens qui pourront je pense t'aider :
http://irrlicht.sourceforge.net/docu/classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a
http://irrlicht.sourceforge.net/docu/classirr_1_1scene_1_1_i_scene_node.html#a2efa2670e29d6bb33b0dd99403b8b69c
Voilà ![]()
Hors ligne
30-07-2011 14:47:13
- Superjaco
- Membres
- Date d'inscription:
- Messages: 20
- IP: 90.16.28.246
- Courriel
Je sais me servir de la doc quand même...
Mais elles sont assez similaire et mon niveau en anglais ne me permet pas de comprendre la nuance avec la doc.
Ce que je souhaite, c'est des explications en francais.
Hors ligne
30-07-2011 18:59:08
- mysterious
- Membres
- Date d'inscription:
- Messages: 21
- IP: 90.45.233.84
- Courriel
resalut,
Alors, d'après ce que j'ai pu voir, c'est peut-être remove() qu'il faudrait utiliser.
Ma démarche pour trouver se résultat :
En naviguant dans la doc, j'ai vu qu'il existait un animator pour supprimer un scene node donné au bout d'un moment. Je me suis dit : super, y'a qu'à regarder la source, et c'est dans le sac !
Donc, je regarde la source, et je vois que pour supprimer le scene node, c'est SceneManager->addToDeletionQueue(node);. Je regarde donc la doc de cette fonction, et voilà ce qu'elle dit :
Adds a scene node to the deletion queue.
The scene node is immediatly deleted when it's secure. Which means when the scene node does not execute animators and things like that. This method is for example used for deleting scene nodes by their scene node animators. In most other cases, a ISceneNode::remove() call is enough, using this deletion queue is not necessary. See ISceneManager::createDeleteAnimator() for details.
ce qui donne en français :
Ajoute un scene node à la queue de suppression.
Le scene node est immédiatement suprimé quand c'est sécurisé. Ce qui veut dire quand le scene node n'exécute pas d'animators où des choses dans le genre. Cette méthode est par exemple utliisée pour supprimer les scene nodes par leurs animators. Dans la plupart des autres classes, un ISceneNode::remove est suffisant, utiliser cette queue de suppression n'est pas nécessaire. Regardes ISceneManager::createDeleteAnimator() pour plus de détails.
et pour finir, je viens de vérifier dans la source, et c'est effectivement remove() qui je pense doit être utilisé.
Voilà voilà,
My?terious
Hors ligne



