کرش سیستم هنگام رندر
اگه یه رندر من هستین حتما تا به حال با کرش سیستم هنگام رندر به خاطر کمبود مموری مواجه شدید!
در این مقاله به بررسی دلایل کرش سیستم هنگام رندر و راهکاهای آن می پردازیم!
قبل از اینکه بریم سراغ کرش سیستم هنگام رندر ترجیح میدم در مورد دو مقوله ی Dynamic Geometry و Static Geometry صحبت بکنم.
محتویات موجود در صحنه ها از لحاظ درگیری مموری یا رم، به دو دسته تقسیم میشوند
1- Dynamic Geometry:
این گونه محتویات، زمانی که لازم باشه در Ram بارگذاری میشوند و زمانی که لازم نباشه از حافظه یا Ram خارج میشوند. توی Vray محتویاتی چون Displacement, Proxy, instancer, vrayfur جزو Dynamic Geometry ها حساب میشوند. بزارین یه مثال براتون بزنم تا بهتر متوجه بشین. فرض کنید در بخشی از صحنه از Vray Displacement استفاده کردین، displacement جزو Dynamic Geometry محسوب میشه، پس تا زمانی که نیاز به محاسبه نداشته باشن کاری به مموری ندارن. ولی در زمان رندر، اگه باکتی (Bucket) به بخشی که displace داره برسه، مموری برای محاسبه وارد عمل میشه و وقتی رندر اون بخش تموم شد از مموری خارج میشه.
2- Static Geometry:
این گونه محتویات در ابتدای رندر کاملا مموری رو درگیر میکنن و تا پایان رندر در حافظه باقی میمانند. مثل اکثر مدلهای موجود در صحنه ( ساختمان و ماشین و مبل و … در صورتیکه پروکسی نشده باشند)
زمانی که شما دکمه رندر رو میزنین یکی از اولین مراحلی که تو رندرینگ انجام میشه بخش Compiling scene geometry هست. تو این بخش کل محتویات صحنه که شامل Dynamic و Static هستند مورد بررسی اولیه قرار میگیرند و اگه تو این مرحله با کرش سیستم هنگام رندر مواجه شدید و یا خیلی به طول انجامید، محتویات صحنه بیشتر از توان سیستم شما بوده که در ادامه روشهایی برای برطرف کردن آن خواهم گفت.
پس از عبور از مرحله ی Compiling geometry وارد مرحله ی building embree static accelerator میشویم. قابلیت Embree در نسخه های جدید ویری اضافه شده که در این فرایند سرعت دهی در محاسبات raytracing اتفاق می افتد. در مورد الگوریتم raytracing در جلسات اولیه پکیج Vrayman صحبت شده است. این قابلیت بطور پیش فرض در تنظیمات ویری فعال هست.
اگرچه فرایند Embree جهت افزایش سرعت محاسبات رندر طراحی شده ولی این فرایند نیاز به میزان مموری بیشتری داشته و اگر سیستم شما با کمبود مموری مواجه شود در این بخش با کرش سیستم هنگام رندر مواجه خواهید شد.
خب بهترین روش برای مواجه نشدن با کرش سیستم هنگام رندر صرف هزینه و استفاده از سخت افزار قوی است ولی طبق تجربیاتی که در این سالها کسب کرده ام برخی از روشهایی که ممکنه برای برطرف کردن این مشکلات کمک کند را در زیر اشاره میکنم:
-
نکات
- کنترل تعداد سطوح : تعداد سطوح و Polygon ها تاثیر مستقیم در محاسبات رندر و درگیر کردن سیستم خواهد داشت. سعی کنید از اضافه کردن جزییات به بخشهایی از صحنه که در فواصل دورتر هستند خودداری کنید.
- استفاده از حالت Instance در هنگام کپی کردن
- استفاده از Vray proxy برای مدلهایی با تعداد سطوح بالا
- استفاده از تکنیکهای اسکترینگ پیشرفته مثل فارست یا مولتی اسکتر
- استفاده از لایه ها و مدیریت بهتر صحنه
- تا جاییکه امکان داره از تصاویر jpeg در متریالسازی استفاده کنید. استفاده از tiff , png , hdr مموری بیشتری را درگیر خواهد کرد
- سعی کنید تمامی متریالهای صحنه از vray باشد. حتی مدل آماده هاییی که ممکن است متریالهای استاندارد داشته باشند را به ویری کانورت کنیم.
- استفاده از تنظیمات صحیح رندر ستاپ
- استفاده نکردن از displace در مناطق وسیع
- استفاده از فارم و رندر شبکه ای برای افزایش توان سیستم
نویسنده: یونس بنا
۱۳ پاسخ
فقط یه چیز میتونم بگم استاد عزیز
هیچی نمیتونم بگم
چون فکم افتاد
تو آپارات و صفحه های دیگه سرچ کردم و مقاله ها بسیار ابتدایی و سطح پایین بود
صفحه خودمون بالا اومد
به زیبایی هر چه تمام تر و بسیار حرفه ای دلایل رو توضیح دادید
قشنگ معلومه که میدونید چه کسایی رو پرورش دادید ! مشکلات رو در سطح بسیار بالا توضیح میدید
فکم هنوز برنگشته سر جاش ولی خوشحالم انگشتام میتونن این پیام رو برای شما بنویسن
سپاس فراوان ، مرسی که هستی ، خدایا دمت گرم یونست هست
بسیار عالی و مفید
مرسی از یونس بنا عزیز
سلام.نگفتین که تو compiling geometry اگه کرش بشه چیکار کنیم
ممنون استاد .شما بهترین هستید .منم همچین مشکلی داشتم داخل صحنه از انواع مختلف فارست استفاده کردم در حالت نرمال سیستم بدی نیست. ولی با ارور در مرحله building light chash از مکس خارج میشد. با توضیحات شما به ناچار تنظیمات کاهش دادم و تیک embreeبرداشتم. رندر دیگه ارور نداد. ممنون استاد بنای عزیز
عالی بود مرسی
عالی بود
بسیار عالی…ممنون استاد بنای عزیز…?
ممنون از شما – استاد بنا.
عالی و پر کاربرد.
سلام استاد بنای عزیز. توی بخش building Embree نهایتا میشه با برداشتن تیک مربوطه از کرش جلوگیری کرد یا خیر؟
جسارتا میشه خواهش کنم یک آموزش کامل برای نصب phoenix و Forest برای ۳DsMAX 2016 و ۳DsMAX 2019 Or 2020 آماده کنید….
نیاز خیلی از هنرجوهاست و واقعا فقط به بیان شیوا و کامل خودتون نیاز داره این آموزش
یه سلام پر از انرژی و خداقوت خدمت شما زحمت کشان و بنیانگذاران ویوید ویژوال قدرتمند و دوست داشتنی.بسیار آموزش و راهکار عالی بود و خیلی لذت بردم و به کارم اومد.شما واقعا محشرید.
کاش راهی بود که قبل از رندر بفهمیم برای صحنه ای که قراره رندر بشه، چه مقدار رم مورد نیاز خواهد بود. من با ۳۲ گیگ رم هم گاهی کرش دارم و متاسفانه وقتی وسط رندر این اتفاق می افته زمان بسیار زیادی برای پیدا کردن مشکل و رندر مجدد صرف میشه
بسیار عالی و کاربردی، ممنون از استاد بنای عزیز??