Вопрос

Я настроил скрипт в 3ds max, чтобы сделать кучу анимации в рамки. Для этого я открываю файл со всеми материалами, загрузите анимацию (как BIP) на рисунок, затем рендеринг.

Мы видели проблему, в которой в конечном итоге скрипт не удастся, потому что он не смог открыть следующий файл - Макс потреблял всю системную память. Закрытие максимума, конечно, освободила память, и мы смогли продолжить сценарий.

Я проверил heapfree Переменная, надеясь увидеть утечку памяти в моем скрипте, надеясь увидеть утечку памяти в моем собственном (MAXScript) кода - но количество свободного пространства было одинаково после каждой анимации.

Затем он должен быть 3ds Max, который потребляет всю эту память. Ничто в максимуме не нужно сохранить из анимации в анимацию - есть ли способ получить максимум, чтобы освободить эту память? (Я пробовал resetMaxFile() и вручную удалять все объекты в сцене). Есть ли какие-то известные наборы операций, которые вызывают максимум для роста управления?

Это было полезно?

Решение

Вы пытались добавить это в конце своего цикла: GC ()

Это делает грабры, собирать и освобождает некоторое пространство. Однако я подозреваю, что в BIP-части будет протекание.

Другие советы

Первая строка допроса необходимо, у вас есть какие-либо локально созданные плагины? Могут ли они быть утечкой память?

Я не работал с 3dsmax с версии 5, но я не помню никаких конкретных утечек памяти, которые были проблематичными. Тем не менее, я, кажется, вспомним (от других переживаний), что пакетные операции, необходимые для перезапуска максимума, время от времени, чтобы сделать вещи вменяемыми. Например, разбивайте вашу партию на меньшие наборы работы и вызовите их последовательно. Тем не менее, материал, которые мы делали в Max5, не нуждались в таких Kludges. YMMV конечно. ;)

Autodesk имеет сеть разработчиков Autodesk, также; Это отличный ресурс, а не слишком много денег, если ваша компания серьезно относится к использованию 3DS.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top