نمیدونم .
آخرین آپدیت افترافکت را ندارم .
اما اگه از لحاظ برنامه نویسی بخواین بدونین ،
بصورت کلی ، معمولا نرم افزارها ، از لحاظ استفاده از تعداد هسته های پردازنده ، همون روند نسخه های قبلی شون را طی میکنن (و نهایتا اینکه ، خیلی نسبت به نسخه های قبلی شون ، از تعداد هسته های بیشتر ، استفاده نمیکنن) .
یعنی اگه در یه نسخه از نرم افزاری ، در فلان رویداد (و شرایط) ، از 3 هسته استفاده میکنه ، معمولا ، در نسخه و نسخه های بعد هم در همون رویداد ، از همون 3 هسته استفاده میکنه .
حتی سازنده ها به نفع شونه که سعی کنن که الگوریتمی طراحی کنن تا با همون کارایی ، میزان استفاده از هسته ها را کاهش بدن . چون وقتی تعداد استفاده از هسته ها در برنامه ها بالاتر بره ، پیچیدگی و توسعه ی اون برنامه ، بصورت تصاعدی بالاتر میره . ضمن اینکه معمولا استفاده از هسته های بیشتر ، سربار بیشتری داره .
ولی این قضیه (تا حد توان ، استفاده از کمترین تعداد هسته ها) ، در قضیه ی رندر ، کاملا برعکس هست .
چون معمولا زمان رندر کردن ، برعکسِ بقیه ی کدنویسی ها ، با بالا رفتنِ استفاده از تعداد هسته ، پیچیدگی کدها (و در نتیجه توسعه شون) ، اصلا زیاد نمیشه (یا بسیار بسیار کمتر میشه) و مهمتر اینکه در زمان رندر ، با استفاده کردن از هر تعداد از هسته ، سربارِ پردازنده ، بسیار بسیار کمتر (از بقیه ی قسمت های کدها) میشه .
-----------------------------------------------------------
دلیل تفاوت این دو نوع کد (کدهای زمان رندر و کدهای زمان غیر از رندر مثل طراحی و ...) هم اگه بخوام مثالی بزنم تا متوجه بشین ، کدهای زمان غیر رندر مثل این میمونه که شما یک کیسه ی شِن داشته باشین و 200 تا کارگر با 200 تا بیل . بعد هم جوری بخواین کار را طراحی کنین که همزمان همه ی اون 200 تا کارگر ، بخوان همزمان 200 تا بیل شون را وارد اون یه دونه کیسه کنن تا نسبت به زمانی که 2 تا کارگر ، ظرف مدت 60 ثانیه کار را تمام میکردن ، این 200 تا کارگر بخوان در ظرف کمتر از 1 ثانیه (0.6 ثانیه) کارشون را تمام کنن . اما وقتی این طرح تون را عملی کنین ، میبینین که این 200 تا کارگر ، از اون 2 تا کارگر ، خیلی دیرتر کارشون را انجام دادن . بخاطر اینکه طراحی کار ، درست انجام نشد و بجای افزایش سرعت ، فقط باعث افزایش ترافیک و سربار و پیچیدگی کار شد .
اما وقتی همین 200 تا کارگر را زمانی که بخواین یه دیوار 200 متر مربعی را رنگ کنین ، به هر کدوم از این کارگرها ، ابعاد 1 متر مربع را بسپارید ، میبینید به همون نتیجه ای که میخواستید ، رسیدید . یعنی اگه یه کارگر ، یه دیوار 200 متری را ظرف مدت 120 دقیقه رنگ کاری میکرد ، 200 تا کارگر ، همون دیوار را زیر 1 دقیقه ، رنگ کاری میکنن . تقسیم کار در این حالت (نسبت حالت قبلی که قضیه ی شِن بود) ، پیچیدگی و ترافیک و سربار خیلی خیلی کمتری داره و در مقابل ، کارایی بسیار بالا تری داره .
در مثال بالا ، تعداد کارگرها را بجای تعداد هسته های پردازنده بذارید و کارها و وظایف (قضیه ی کیسه ی شِن و رنگ آمیزی دیوار) را بجای طراحی الگوریتم در نرم افزارها بذارید .
-----------------------------------------------------------
اما بهبود عملکرد در سرعت ، صرفا به تعداد استفاده ی برنامه از هسته ها برنمیگرده .
اساس اش که به طراحی الگوریتم اون برنامه برمیگرده که معمولا وقتی یه بار نوشتن ، روال کلی اش همون ثابت میمونه (هر چند ، هر سال یا چند مدت در میون ، بهبودهایی میدن اما اساس اش معمولا تغییر نمیکنه) . اساس طراحی الگوریتم هست که میزان استفاده از تعداد هسته های cpu و ... از اون برنامه را در هر رویداد و شرایط ، مشخص میکنه.
معمولا در نسخه های جدید ، بهبود در طراحی الگوریتم کدها (نه اینکه الگوریتم را از اساس تغییر بدن) و سازگاری و استفاده از قابلیت بیشتر و جدید سیستم عامل ها و همچنین سازگار کردن بیشتر با درایورهاست که نتیجه اش بهبود (که معمولا جزئی هست) در سرعت نرم افزار میشه .
اما همونطور که میدونید ، رندر افترافکت ، فقط از چند تعداد محدود هسته میتونه استفاده کنه . اگه از اساس مجددا طراحی اش کنن ، میتونه مثل موتور رندر سینما 4 دی (و حتی موتور رندر پریمیر) ، از تعداد هسته های خیلی بیشتری زمان رندر استفاده کنه . البته زمان رندر فقط (موقع استفاده و طراحی در افترافکت ، بعید میدونم چندان کار خاصی بکنن مثل بقیه ی نرم افزارها) .
اما چرا این کار رو برای موتور رندر افترافکت پیاده سازی نمیکنن ، خودمم نمیدونم .
ولی اینکه این کار را برای موتور افترافکت آیا پیاده سازی میکنن یا نه ، یه قضیه ی دیگه است که جوابش پیش شرکت adobe باید باشه . اما از دید من یه نرم افزاری که قدمتش به بیش از 25 سال میرسه رو هنوز این طراحی را برای موتور رندرش نکردن ، شاید بشه گفت تا آخر (یا حداقل ، 5 یا 10 سال آینده یا حتی بیشتر) هم این کار رو براش نکنن .
البته طراحی مجدد الگوریتم برای یه نرم افزار ، نیازمند هزینه ی قابل توجهی برای اون شرکت (یا کلا سازنده ی نرم افزار) داره .