راهنمای کاربردی رفع ارور و کرش افترافکت هنگام رندر شامل ۸ راه‌حل تجربی مانند سوئیچ به پردازنده، پاکسازی حافظه کش و عیب‌یابی پلاگین‌ها در محیط رندر.

کرش ناگهانی و بروز ارور هنگام خروجی گرفتن، از چالش‌های آشنای کار با نرم‌افزار افترافکت است. پردازش ویدیو در این محیط نیازمند هماهنگی کامل حافظه رم، پردازنده، کارت گرافیک و فضای ذخیره‌سازی است؛ بنابراین هرگونه اختلال یا کمبود منابع می‌تواند رندر را متوقف سازد. بر اساس مستندات پشتیبانی ادوبی، عیب‌یابی مشکلات رندر باید گام‌به‌گام و در قالب آزمون‌های تشخیصی دنبال شود، چرا که هر راه‌حل تنها یک آزمون ایزوله‌سازی است و درمان قطعی برای تمام مشکلات به شمار نمی‌رود. باید توجه داشت که مواجهه با فونت گم‌شده یا فوتیج مفقود، یک مشکل متفاوت از کرش رندر است.

هنگامی که صف رندر در حال پردازش است، برخی از منوهای نرم‌افزار تا پایان رندر یا توقف آن غیرفعال می‌مانند که این رفتار یک ویژگی کاری است و خود کرش محسوب نمی‌شود. همچنین در صورت بسته شدن ناگهانی برنامه، شرکت ادوبی از کاربران درخواست می‌کند که گزارش کرش را همراه با ایمیل معتبر ارسال کنند تا کارشناسان فنی امکان بررسی آن را داشته باشند. در ادامه، هشت راه‌حل کاربردی و مستند برای شناسایی و مهار خطاهای رندر بررسی شده‌اند.

بررسی متن خطا و تایم‌کد دقیق در ارور Error Compiling Movie

نخستین آزمون هنگام توقف رندر، خواندن دقیق پیام خطاست. گرچه هر کرشی این متن را نمایش نمی‌دهد، اما پیام Error Compiling Movie معمولاً حاوی یک تایم‌کد زمانی دقیق است. این تایم‌کد مشخص می‌کند که رندر در کدام ثانیه یا فریم از کامپوزیشن متوقف شده است. برای بررسی این مورد، به همان زمان در تایم‌لاین بروید و افکت، ترنزیشن یا لایه فعال در آن لحظه را موقتاً غیرفعال یا حذف نمایید و رندر را دوباره امتحان کنید تا مشخص شود آیا خطا ناشی از همان بخش بوده است یا خیر.

تنظیم رندر پردازنده با انتخاب حالت Mercury Software Only

دومین راه‌حل، سوییچ رندر به پردازنده اصلی در File > Project Settings، منوی Video Rendering and Effects است. گزینه‌های شتاب‌دهنده سخت‌افزاری تحت عنوان Mercury GPU Acceleration قرار دارند که در سیستم‌عامل مک به صورت Metal یا OpenCL و در سیستم‌عامل ویندوز به صورت CUDA یا OpenCL ظاهر می‌شوند. با برگزیدن حالت Mercury Software Only، پردازش افکت‌ها بر عهده پردازنده اصلی (CPU) قرار می‌گیرد. هیچ‌کدام از حالت‌های گرافیکی همیشه سریع‌تر یا همیشه علت کرش نیست. راهنمای ادوبی Mercury Software Only را آزمونی برای جدا کردن نقش کارت گرافیک هنگام خطای رندر یا خروجی می‌داند.

به‌روزرسانی درایور کارت گرافیک از وب‌سایت سازنده

سومین آزمون، به‌روزرسانی درایور گرافیک مستقیماً از وب‌سایت سازنده سخت‌افزار است، نه فقط از طریق Windows Update. اگر رایانه شما دارای دو پردازنده گرافیکی شامل کارت مجزا و گرافیک مجتمع اینتل (Intel GPU) است، طبق توصیه ادوبی درایور هر دو واحد گرافیکی را به‌روز کنید. راهنمای ادوبی نصب درایور را از سایت سازنده قطعه می‌گوید.

مدیریت خطاهای حافظه رم، دستور Purge و سقف ۲ گیگابایت فریم

چهارمین راه‌حل به خطاهای حافظه اختصاص دارد. برای آزادسازی رم، به منوی فرعی Purge در مسیر Edit > Purge و سپس گزینه Edit > Purge > All Memory & Disk Cache بروید (در نسخه‌های پیشین ممکن است متن گزینه‌ها تفاوت جزئی داشته باشد). هشدارهای «Unable to allocate enough memory to render the current frame» و «Unable to allocate [n] MB of memory» نشان می‌دهند که باید نیاز حافظه آن فریم را کم کرد یا رم فیزیکی سیستم را افزایش داد. همچنین خطای «Image buffers ... exceed internal limits» بیانگر آن است که یک فریم نمی‌تواند بیش از ۲ گیگابایت از بافر تصویر را اشغال کند. برای مهار این محدودیت، رزولوشن کامپوزیشن یا عمق بیت رنگ پروژه را کاهش دهید. عمق بیت رنگ در File > Project Settings بین مقادیر ۸، ۱۶ یا ۳۲ بیت به ازای هر کانال تعیین می‌شود. کم کردن عمق بیت فقط حجم همان فریم را کم می‌کند و به معنی بهتر شدن کیفیت یا تضمین توقف کرش نیست.

پیکربندی کش دیسک و استفاده از حالت Read Only در صف رندر

پنجمین آزمون، تنظیم حافظه موقت دیسک در بخش تنظیمات نرم‌افزار است (در ویندوز منوی Edit > Preferences و در مک منوی After Effects > Preferences در تب Media & Disk Cache). کش دیسک را روی درایوی پرسرعت با فضای خالی کافی قرار دهید؛ توجه داشته باشید که ادوبی عدد حداقلی معینی به گیگابایت تعیین نکرده است. همچنین در پنجره Render Settings صف رندر، گزینه Disk Cache به طور پیش‌فرض روی Current Settings قرار دارد، اما می‌توان آن را روی Read Only گذاشت تا در طول آن رندر هیچ فریمی روی کش نوشته نشود. این حالت گزینه‌ای مناسب هنگام مشکوک بودن به عملیات نوشتن کش است، نه درمانی قطعی برای همه کرش‌ها.

عیب‌یابی با Safe Mode، مدیریت Multi-Frame Rendering و رندر توالی تصویر

ششمین راه‌حل، بررسی افزونه‌های شخص ثالث از طریق Safe Mode است. مستندات ادوبی کرش‌های میانه کار را اغلب ناشی از پلاگین یا اسکریپت می‌دانند. برای ورود به این حالت، در ویندوز منوی Edit > Preferences و در مک منوی After Effects > Preferences را باز کرده و در بخش Startup & Repair گزینه Start in Safe Mode را انتخاب کنید، یا هنگام اجرای اولیه کلیدهای Ctrl+Alt+Shift در ویندوز یا Command+Option+Shift در مک را نگه دارید تا Startup Repair Options باز شود و پلاگین‌های جانبی موقتاً غیرفعال شوند. سیف مد هرگز پوشه یا فایل پلاگین را حذف نمی‌کند و نباید پوشه‌ای پاک شود؛ اگر کرش متوقف شد، علت پلاگین یا تنظیمات است و اگر ادامه یافت، افزونه علت اثبات‌شده خطا نبوده است.

هفتمین آزمون، ارزیابی قابلیت Multi-Frame Rendering در بخش تنظیمات حافظه است (در ویندوز زیر منوی Edit > Preferences و در مک زیر After Effects > Preferences). این پنل بسته به نسخه نرم‌افزار ممکن است Memory & CPU یا Memory & Performance نامیده شود. فعال بودن Enable Multi-Frame Rendering باعث رندر همزمان چندین فریم در پیش‌نمایش و صف رندر می‌شود. همین رفتار وقتی مدیا انکودر یا پریمیر یک کامپوزیشن افترافکت را رندر می‌کند هم هست و رم بیشتری را همزمان اشغال می‌کند. اگر با خطای کمبود حافظه روبه‌رو شدید، خاموش کردن موقت این ویژگی آزمونی برای کاهش فریم‌های موازی است و الزامی برای غیرفعال‌سازی همیشگی آن وجود ندارد.

هشتمین راهکار، گرفتن خروجی به شکل توالی تصاویر (Still-image sequence) از مسیر Composition > Add to Render Queue است. به‌جای یک فایل ویدیویی، ماژول خروجی می‌تواند دنباله تصویر باشد. PNG، TIFF و OpenEXR فقط نمونه‌اند. اگر رندر روی یک فریم متوقف شود، فریم‌های قبلی سالم مانده‌اند و می‌توان پس از بازبینی، رندر را از فریم بعدی ادامه داد. این تکنیک فریم معیوب را ایزوله می‌کند، گرچه افکت دارای نقص را تعمیر نخواهد کرد.

پروژه افترافکت سنگین، از جمله قالب‌هایی که در نگارچی باز می‌کنید، اگر وسط رندر قطع شود با همین هشت آزمون جدا می‌شود. هیچ‌کدام افکت خراب را تعمیر نمی‌کند و فقط مشخص می‌کند خطا از پردازش، حافظه، کش یا پلاگین است یا نه.

Mercury Software Only علت همه کرش‌های رندر نیست

باور اشتباهی میان کاربران وجود دارد که انتخاب حالت نرم‌افزاری Mercury Software Only را راه‌حل نهایی تمامی کرش‌های رندر می‌دانند. مستندات ادوبی تصریح می‌کنند که سوییچ به پردازنده مرکزی صرفاً یک آزمون تشخیصی برای تفکیک اثر کارت گرافیک است. خطاهایی مانند سقف ۲ گیگابایتی فریم در بافر، کمبود حافظه ناشی از پردازش همزمان، تداخل افزونه‌ها یا مشکلات نوشتن بر دیسک کش، مستقل از شتاب‌دهنده گرافیکی هستند. بنابراین موفقیت در رفع خطاهای رندر به اجرای گام‌به‌گام این هشت آزمون تشخیصی و ایزوله‌سازی دقیق منشأ خطا بستگی دارد.