alirezankm1994
alirezankm1994
خواندن ۳ دقیقه·۵ سال پیش

دلایل کرش سیستم هنگام رندر و راهکارهای آن


کرش سیستم هنگام رندر

اگه یه رندر من هستین حتما تا به حال با کرش سیستم هنگام رندر به خاطر کمبود مموری مواجه شدید!

در این مقاله به بررسی دلایل کرش سیستم هنگام رندر و راهکاهای آن می پردازیم!

قبل از اینکه بریم سراغ کرش سیستم هنگام رندر ترجیح میدم در مورد دو مقوله ی Dynamic Geometry و Static Geometry صحبت بکنم.

محتویات موجود در صحنه ها از لحاظ درگیری مموری یا رم، به دو دسته تقسیم میشوند

- 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 در مناطق وسیع
  • استفاده از فارم و رندر شبکه ای برای افزایش توان سیستم

نویسنده: یونس بنا

منبع : vividvisual

آموزش 3dmaxآموزش ویریآموزش کوروناآموزش اتوکد
شاید از این پست‌ها خوشتان بیاید