سؤال

لقد قمت بإعداد برنامج نصي في 3DS Max لتقديم مجموعة من الرسوم المتحركة إلى إطارات. للقيام بذلك ، فتحت ملفًا مع جميع المواد ، وقم بتحميل الرسوم المتحركة (كحرف) على الشكل ، ثم تقديمها.

كنا نرى مشكلة حيث سيفشل البرنامج النصي في النهاية لأنه لم يتمكن من فتح الملف التالي- كان ماكس قد استهلك جميع ذاكرة النظام. إغلاق ماكس ، بطبيعة الحال ، أطلق سراح الذاكرة ، وتمكنا من الاستمرار في البرنامج النصي.

لقد راجعت heapfree متغير ، على أمل رؤية تسرب ذاكرة داخل البرنامج النصي الخاص بي ، على أمل رؤية تسرب ذاكرة داخل رمز (MaxScript) الخاص بي- ولكن مقدار المساحة الحرة كان هو نفسه بعد كل رسوم متحركة.

بعد ذلك ، يجب أن يكون 3DS Max الذي يستهلك كل تلك الذاكرة. لا شيء في الحد الأقصى يحتاج إلى حفظ من الرسوم المتحركة إلى الرسوم المتحركة- هل هناك طريقة ما للحصول على الحد الأقصى لتحرير تلك الذاكرة؟ (لقد حاولت resetMaxFile() وحذف جميع الأشياء في المشهد يدويًا). هل هناك أي مجموعات معروفة من العمليات التي تجعل ماكس ينمو خارج نطاق السيطرة؟

هل كانت مفيدة؟

المحلول

هل حاولت إضافة هذا في نهاية حلقتك: GC ()

يقوم بجمع الغارب والتحرر بعض المساحة. ومع ذلك أظن أن جزء BIP يتسرب.

نصائح أخرى

يجب أن يكون السطر الأول من الاستجواب ، هل لديك أي ملحقات مكون من ذلك محليًا تم تحميلها؟ هل يمكن أن يتسربوا من الذاكرة؟

لم أعمل مع 3DSMAX منذ الإصدار 5 ، لكنني لا أتذكر أي تسرب ذاكرة معين كانت مشكلة. ومع ذلك ، يبدو أنني أتذكر (من تجارب الآخرين) أن عمليات الدُفعات اللازمة لإعادة تشغيل Max من وقت لآخر فقط للحفاظ على الأشياء عاقلة. على سبيل المثال ، قم بتفكيك وظيفتك الدُفعة إلى مجموعات أصغر من العمل واتصل بها بالتتابع. ومع ذلك ، فإن الأشياء التي كنا نقوم بها في MAX5 لم تكن بحاجة إلى مثل هذه kludges. ymmv بالطبع. ؛)

Autodesk لديها شبكة مطور Autodesk ، أيضا ؛ هذا مورد رائع وليس الكثير من المال إذا كانت شركتك جادة في استخدامها لـ 3DS.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top