 | |  |
| jus2poubelle | Salut tout le monde. C'est mon premier post, je vais essayer de pas dire trop de conneries :)
alors voila, je me posais une question relative aux perfs. Pour faire du rig on cherche tjrs à avoir qlqchose le plus leger possible. Jusqu'ici j'utilisais des script controller à tour de bras. Mais dernierement je suis tombé sur ce post: http://somosposmodernos.com/blog/?p=380
J'ai donc testé cette technique et en effet ca marche trés bien. Mais du coup ça remet à plat ce que je pensait sur les script controller. Pour moi un script controller n’évaluait que ce qu'on lui demandait de "surveiller". Un node, un autre controller, etc... Comme un change handler par exemple. Ce qui lui permettrait de ne pas executer le script en continu. Or ce petit exemple prouve bien le contraire.
Du coup je me demande si faire des change handler n'est pas plus intéressant en terme de performances. Bon apres ca pose plus des pb d'organisation je suppose...
Qu'est ce que vous en pensez? |
Malikarn - F1 - | Salut
Non les scripted controllers et callbacks ne sont pas tout du tout pareils.
Un controleur est un objet qui permet de calculer des inbetweens entre deux keyframe. Autrement dit comment passe t on de la valeur A à la valeur B. Si c'est un controleur bezier, ce sera une courbe de bezier, si c'est un noise, ce sera une courbe accidentée, si c'est un linear, c'est en ligne droite. Si c'est une contrainte, ca va dépendre du noeud contraignant...
Le callback mechanism quant à lui "surveille" 3ds max dans globalité pour executer du code lorsque certaines actions précises sont menées : ouverture d'un fichier, lancement d'un rendu, destruction d'un noeud etc. Il y a donc une différence de portée majeure entre le controleur et le callback !
La meilleure chose à faire est d'utiliser les outils pour ce pourquoi ils sont faits. Ainsi ce n'est pas parce que tu calculer des inbetweens sur 1000 tracks de 50 objets avec un broadcast callback qui tu dois le faire. Par exemple utiliser 50 000 instances d'un unique controleur script sera un meilleur choix si ce choix répond au setup.
++ |
| |
| | |