2010-05-13 26 views
0

J'ai mis en place un script dans 3ds max pour rendre un tas d'animations dans des cadres. Pour ce faire, j'ouvre un fichier avec tous les matériaux, charge une animation (en bip) sur la figure, puis restitue.fuites de mémoire connues dans 3ds max?

nous voyons un problème où finalement le script aurait échoué parce qu'il n'a pas pu ouvrir la prochaine file-- max avait consommé toute la mémoire du système. La fermeture max, bien sûr, a libéré la mémoire, et nous avons pu continuer avec le script.

J'ai vérifié la variable heapfree, espérant voir une fuite de mémoire dans mon script, espérant voir une fuite de mémoire dans mon propre code (maxscript) - mais la quantité d'espace libre était la même après chaque animation.

Ensuite, il doit être 3ds max qui consomme toute cette mémoire. Rien de max n'a besoin d'être sauvegardé de l'animation à l'animation - y a-t-il un moyen d'obtenir le maximum pour libérer cette mémoire? (J'ai essayé resetMaxFile() et en supprimant manuellement tous les objets de la scène). Existe-t-il des ensembles d'opérations connus qui provoquent un développement incontrôlable de Max?

Répondre

1

Avez-vous essayé d'ajouter ceci à la fin de la boucle: gc()

il fait un garbarge recueillir et libère un peu d'espace. Cependant, je soupçonne que la partie bip soit étanche.

-1

La première série de questions doit être, avez-vous des plugins créés localement chargés? Pourraient-ils fuir la mémoire?

Je n'ai pas travaillé avec 3dsmax depuis la version 5, mais je ne me souviens pas de fuites de mémoire particulières qui étaient problématiques. Cependant, il me semble me rappeler (d'après l'expérience des autres) que les opérations par lots avaient besoin de redémarrer MAX de temps en temps pour garder les choses saines. Par exemple. divisez votre travail par lots en petites séries et appelez-les de manière séquentielle. Cependant, les trucs que nous faisions dans MAX5 n'avaient pas besoin de tels kludges. YMMV bien sûr. ;)

Autodesk a Autodesk Developer Network, également; C'est une excellente ressource et pas trop d'argent si votre entreprise est sérieuse quant à son utilisation de 3DS.