質問

私はフレームにアニメーションの束をレンダリング3ds Maxの中でスクリプトを設定しました。これを行うために、私はその後、レンダリング、数字の上(BIPなど)のアニメーションをロードし、材料のすべてのファイルを開きます。

私たちは、すべてのシステムメモリを消費していた、次のfile--最大を開くことができませんでしたので、最終的にスクリプトが失敗する問題を見ていました。もちろん、最大を閉じる、メモリを解放し、そして我々は、スクリプトを続行することができました。

私はcode--自分(のMAXScript)内のメモリリークを確認することを望んで、私のスクリプト内でメモリリークを見ることを期待して、heapfree変数をチェックアウトしたが、空き領域の量は、すべてのアニメーションの後に同じでした。

すると、そのすべてのメモリを消費している3ds maxのでなければなりません。最大必要とするものは何もそのメモリを解放するために、最大取得するいくつかの方法があるanimation--にアニメーションから保存されていないこと? (私はresetMaxFile()を試してみましたが、手動でのシーン内のすべてのオブジェクトを削除しました)。制御不能に成長させることが最大原因となる操作のいずれかの既知のセットがありますか?

役に立ちましたか?

解決

あなたはループの最後にこのを追加しようとしました: GC()

それはいくつかのスペースアップコレクトと解放garbargeを行います。 しかし私は、漏洩するBIP一部を疑います。

他のヒント

する必要性を問うの最初の行は、あなたが任意のローカルに作成したプラグインがロードされていますか?彼らは、メモリをリークしていませんか?

私は、バージョン5以降3DSMAXで働いていないが、私は問題なかった任意の特定のメモリリークを覚えていません。しかし、私は、バッチ操作は、物事の正気を保つために随時MAXを再起動するために必要なこと(他人の経験から)リコールに思えます。例えば。仕事の小さなセットにあなたのバッチジョブを分割して順次それらを呼び出します。しかし、我々はMAX5にやっていたものは、そのようなクラッジを必要としませんでした。もちろん、YMMV。 ;)

オートデスクも、オートデスクデベロッパネットワークを持っています。あなたの会社は3DSの使用について深刻である場合には、偉大なリソースではなく、あまりにも多くの現金です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top