برای دانلود پلاگین و اسکریپت های افتر افکت و پریمیر پرو     کلیک کنید
صفحه 1 از 4 123 ... آخرینآخرین
نمایش نتایج: از 1 به 10 از 31
  1. #1

    راهنمای انتخاب قطعات کامپیوتر برای نرم افزارهای گرافیکی

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

  2. #2
    اولین قطعه که میدونید مهمترین قطعه هست ، انتخاب پردازنده ی CPU هست .
    پردازنده که انتخاب بشه ، سوکت مادربرد (صرف نظر از چیپست و مدار تغذیه ی مادربرد که اگه وقت شد ، بعدا بهش میپردازیم) هم مشخص خواهد شد .

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


    ---------------------------------------------------


    معماری پردازنده (قسمت 1) :


    همونطور که میدونید ، هر برنامه (مثل افترافکت) ، از حداقل ، یک پروسه (یا پروسس یا process) تا چندین پروسه تشکیل شدن . نام پروسه را در سربرگ details در task manager میشه پیدا کرد . نام پروسه ی اصلی افترافکت ، AfterFX.exe هست .
    هر پروسه (process) هم که در task manager قابل مشاهده هست ، از حداقل یک نخ (thread) تا چند نخ تشکیل شدن .
    نخ های هر پروسه هم در پنجره ی Resource Monitor در ستون Thread ، قابل مشاهده هستن :


    نام: 1 resource monitor.JPG نمایش: 520 اندازه: 55.7 کیلو بایت


    همونطور که در تصویر بالا میبینید ، پروسه ی AfterFX (پروسه ی اولی که انتخاب شده هست) ، در این لحظه ای که عکس گرفته شد ، 55 نخ در حال اجرا داره . هر لحظه هم تعداد این نخ ها ممکنه کمتر یا بیشتر بشه .
    توی هر نخ ، کدهای پروسه و نرم افزار اجرا میشن .
    نخ ها ، یا در حال اجرای کدشون در پردازنده هستن یا اینکه متوقف شده هستند .
    اگه متوقف شده باشند ، که از پردازنده استفاده نمیکنند . پس هیچ چی .
    اما تا زمانی که نخ ها در حال اجرای کدشون باشند ، از پردازنده استفاده میکنند و بنابراین کارکرد و اشغال پردازنده ، بالا میره .
    در صورتی که نخ ها در حال اجرای کدشون باشند ، به ازای هر نخ ، یک هسته از پردازنده اشغال میشه . در واقع ، در یک لحظه ، هر هسته ی پردازنده ، فقط کدهای یک نخ (ای که در حال اجرای کدش باشه) را پردازش میکنه . بنابراین اگه پردازنده ای مثلا 8 هسته ای باشه ، درون دو هسته اش ، هیچ وقت یک نخ را بصورت همزمان پردازش نمیکنه و کدهاش را اجرا نمیکنه . بلکه فقط یک نخ را در یک هسته اش پردازش و کدهای اون نخ را اجرا میکنه .


    همونطور که در ستون cpu در تصویر نشون میده ، میبینید که این پروسه (ی افترافکت) با اونکه 55 نخ داره ولی کارکرد و اِشغال cpu اش 0 هست . یا به عبارتی ، به این معناست که هیچ کدوم از 55 نخ در این پروسه ، در حال اجرای کد نیستند و به عبارتی همه ی 55 نخ در این پروسه یا متوقف شدند یا در حال انتظار هستند .
    ستون average cpu در تصویر بالا هم نشون میده که در 60 ثانیه ی اخیر ، این پروسه ، چند درصد از کل پردازنده را اشغال کرد . که در اینجا ، میانگین اش در 60 ثانیه ی اخیر ، مقدار 0.03 درصد از پردازنده را اشغال کرد (که به 1 درصد هم نرسیده) .

  3. #3
    معماری پردازنده (قسمت 2) :


    پس در نتیجه گیریِ پست قبلی ، این مهم هست که از هر تعداد نخ ای که در اون لحظه یه پروسه داره (در افترافکت در لحظه ی عکس گرفتن در پست بالا 55 بود) ، چه تعداد از اون نخ ها در حال اجرای کدشون باشن . که تعداد نخ هایی که در حال اجرای کدشون باشن را فعلا نمیشه با نرم افزاری متوجه شد (بعدا یه توضیح کوچیکی میدم) .
    به همون تعداد (تعداد نخ های در حال اجرای کدشون در پروسه) ، هسته ی پردازنده برای اجرای سریعتر نیاز هست . اگه تعداد هسته ها ، از تعداد نخ هایی که در حال اجرای کدشون هستن ، بیشتر باشه ، در اون لحظه ، اون تعداد از هسته های پردازنده ، بیکار خواهد بود . مثلا اگه در پروسه ی افترافکت ، در یک لحظه 55 نخ داشته باشیم و فقط 2 نخ از اون 55 نخ ، در حال اجرای کدشون باشن و ما یه پردازنده ای با 8 هسته (فیزیکی) داشته باشیم ، پس در اون لحظه ، فقط 2 هسته از پردازنده مون (یعنی 25 درصد از توان پردازنده مون) در حال کار و اِشغال هست و 6 هسته ی دیگه (75 درصد از توان پردازنده مون) در اون لحظه بیکار هست . اما اگر تعداد هسته ها ، از تعداد نخ هایی که در حال اجرای کدشون هستن ، کمتر باشه ، سرعت پردازش در سیستم کاربر ، به همون نسبت ، پایین تر میاد .




    نرم افزارهای گرافیکی 2 بعدی ، حداکثر ، از چند هسته ی پردازنده استفاده میکنند و پردازنده ی چند هسته ای براشون تهیه کنیم؟
    اغلب نرم افزارها (بجز نرم افزارهای 3 بعدی اون هم موقع رندرشون) مثل افترافکت و فتوشاپ و موکا و بسیاری از نرم افزارهای دیگه ، چه زمان کار کردن با نرم افزار چه موقع رندرشون ، فقط قابلیت استفاده از 1 تا 8 هسته (ی فیزیکی) از پردازنده را دارند . بصورت متوسط ، 4 تا 6 هسته (فیزیکی) از پردازنده را استفاده میکنند.
    البته این را که میگم ، تاکید میکنم که برای همه ی نرم افزارها نیست . بلکه برای اغلب نرم افزارهای گرافیکی هست .
    هر چند بحث پریمیر جداست و این نرم افزار تا 24 هسته ی فیزیکی (به همراه 48 هسته ی منطقی) را میتونه استفاده کنه.
    به هر حال ، باید برای اطلاع دقیق از یک نرم افزار که چقدر منابع (یعنی رم و cpu و gpu و هارد) استفاده میکنه ، باید هم به سایت اصلی و هم نتایج تست اش در سایت های دیگه را مشاهده کرد .

    این ، به این معناست که این نرم افزارها ، حداکثر ، در یک لحظه ، بین 1 تا 8 نخ فعال (نخی که در حال اجرای کدش باشه) دارند و بصورت متوسط ، در یک لحظه ، 4 تا 6 نخ فعال دارند (هر چند مثل تصویر در پست قبلی ، اون پروسه ، 55 نخ داشته باشه اما بقیه ی نخ هاشون یا متوقف شده اند یا منتظر میمونن) .

    یا به عبارتی دیگه ، حداکثر ، استفاده از پردازنده ای بیش از 8 هسته ای (مثلا استفاده از پردازنده ی 12 هسته یا 16 یا 32 هسته ای) ، برای این نرم افزارها ، هیچ کاربردی نداره و فقط هزینه ی اضافی بدون استفاده از مزیت این پردازنده هاست .
    ولی حتی یه پردازنده ی 6 هسته ای هم برای این نوع نرم افزارها کاملا کافی هست و در صورتی که شخصی بخواد عالی ترین کارایی نسبت به هزینه را داشته باشه ، یک پردازنده ی 6 هسته ای برای استفاده از این نرم افزارها توصیه میشه .
    در صورتی که برای کسایی که بودجه ی کمتری دارند ، پردازنده ی 4 هسته ای توصیه میشه .

    در لینک های زیر ، تفاوت عملکرد پردازنده ها با تعداد هسته های مختلف را در نرم افزار افترافکت میبینید (بقیه ی نرم افزاریی که گفته شد بجز پریمیر هم تقریبا شبیه افترافکت هستند) :

    Best Workstation Computer For After Effects

    و

    After Effects CPU performance: Intel Core X-10000 vs AMD Threadripper 3rd Gen


    برای پریمیر هم (قابلیت استفاده تا 24 هسته ی فیزیکی را داره) :

    Best Computer for Video Editing

    و

    Recommended Systems for Adobe Premiere Pro

    و

    Premiere Pro CPU performance: AMD Threadripper 3990X 64 Core

  4. #4
    نرم افزارهای گرافیکی 3 بعدی ، حداکثر ، از چند هسته ی پردازنده استفاده میکنند و پردازنده ی چند هسته ای براشون تهیه کنیم؟
    نرم افزارهای گرافیکی 3 بعدی (مثل Cinema 4D و ...) را باید در 2 حالت مختلف بررسی کرد :

    1) زمانی که کاربر داره با نرم افزار کار میکنه . یعنی زمانی که داره با نرم افزار ، پروژه شو طراحی میکنه (مثل ایجاد ، اصلاح و انیمیت کردنِ مدل های 3 بعدی و ...) :
    در این حالت ، مثل نرم افزارهای گرافیکی دو بعدی (مثل افترافکت و ...) ، این نرم افزارهای 3 بعدی هم در یک لحظه ، حداکثر بین 1 تا 8 نخ فعال (نخی که در حال اجرای کدش باشه) دارند و بصورت متوسط ، در یک لحظه ، 4 تا 6 نخ فعال دارند . یا به عبارتی دیگه ، در این حالت ، حداکثر ، بیشتر از پردازنده ی 8 هسته ای بکارشون نمیاد . پردازنده ی 6 هسته ای برای کاربرد عالی نسبت به قیمت ، توصیه میشه و برای بودجه ی کمتر هم پردازنده ی 4 هسته ای توصیه میشه .

    2) زمانی که کاربر داره با نرم افزار ، رندر میکنه . البته اگه موتور رندری باشه که بر اساس cpu کار کنه که در اصطلاح به این موتورهای رندر ، cpu based میگن . مثل موتور رندر پیش فرض Cinema 4D و موتورهای رندر دیگه مثل Arnold و Mental Ray و V-Ray و Keyshot ، میتونن از تمام هسته های پردازنده ها (حتی اگه پردازنده بیش از 64 هسته ی فیزیکی داشته باشه) استفاده کنن . بنابراین در این حالت (موقع رندر در نرم افزارهای 3 بعدی) ، هر چی تعداد هسته های پردازنده بیشتر باشه ، سریعتر رندر انجام میشه .

  5. #5
    چرا نرم افزارهای 2 بعدی (و نرم افزارهای 3 بعدی در زمان طراحی _زمان غیر رندر) ، نمیتونن از پردازنده های بالای 8 هسته ای استفاده کنند؟
    همونطور که متوجه شدید و گفته شد ، تعداد نخ های فعال (نخ هایی که در حال اجرای کدشون هستند) در یک لحظه ، تعداد استفاده از هسته های پردازنده را مشخص میکنه . و همونطور هم که گفته شد ، نرم افزارهای 2 بعدی ، در هر حالتی (چه زمان طراحی چه زمان رندر) و همچنین نرم افزارهای 3 بعدی در زمان طراحی ، در یک لحظه ، بصورت متوسط 4 تا 6 نخ فعال دارند .




    چرا نرم افزارهای 2 بعدی (و همچنین نرم افزارهای 3 بعدی در زمان طراحی _زمان غیر رندر) ، بیشتر از 8 نخ در یک لحظه ایجاد نمیکنند تا بتونن از تمام هسته های پردازند هایی که از 8 هسته بیشتر دارند ، استفاده کنند؟
    این به ماهیت نخ ها برمیگرده . اول اینکه ، این نکته را یادآوری کنم که یک نخ ، فقط در یک هسته (در یک لحظه) اجرا میشه .
    نخ ها ، مثل کارها (کارهایی که باید در دنیای واقعی انجام بشن) شبیه هستند .
    وقتی نخ ای ساخته میشه که ، یک کار جدید وجود داشته باشه که هیچ ارتباطی با کار قبلی که در نخ قبلی انجام میشه ، نداشته باشه یا کمترین ارتباط را داشته باشه . وگرنه تداخل کارها ، باعث میشه کارایی ، پایین بیاد .

    اول بذارید مثالی زده شه :
    فرض کنید یک کاری وجود داره با عنوان "خالی کردنِ سیمان از درون یک کیسه ی سیمان در ظرف جدید توسط بیل" که برای این کار ، 2 کارگر با 2 تا بیل میخوان این کار را انجام بدن .
    هیچ وقت همزمان 2 تا بیل ، توی یک کیسه نمیره . بنابراین یک کارگر همیشه باید منتظر بمونه تا بیلِ قبلیِ ای که کارگر قبلی توی کیسه وارد کرد را بیرون بیاره تا (کارگرِ دومی) بتونه بیل خودش را وارد همون کیسه کنه . بنابراین در واقع در اینجا ، فقط یک کارگر عملا داره روی یک کیسه کار میکنه و وجود 2 کارگر ، نه تنها سودی نداره ، گاها ممکنه نتیجه ی عکس بده .
    بجای این کار ، بهتر هه که یک کارگر ، یک کیسه ی سیمان را خالی کنه و کارگرِ دیگه ، سراغ کیسه ی سیمانِ جدیدی بره . این جوری ، کارایی افزایش پیدا میکنه . یعنی ، کار در صورتی زودتر انجام میشه که به هر کدوم از کارگرها ، یک کارِ مجزا (مستقل) و جدیدی بدهند .

    در مثال بالا ، کار (خالی کردن کیسه ی سیمان) را جای نخ ها بذارید و کارگرها را جای هسته های پردازنده .
    بنابراین ، نمیشه بی محابا ، سازنده ی نرم افزار هر تعدادی خواست ، نخ درست کنه . چه بسا کارها تداخل پیدا کنن و سرعت پردازش ، کمتر بشن (مثل قضیه ی خالی کردن یک کیسه ی سیمان توسط دو کارگر) .

    بنابراین کارهای مختلف ، باید جوری باشند که به ترتیب همدیگه کاری نداشته باشند تا بشه در نخ های دیگه اجرا بشن (مثل خالی کردن دو کیسه ی سیمان مجزا که دو کارگر ، هر چقدر خواستن ، میتونن برای خودشون کار کنن . مثلا یکی 10 درصد از کیسه ی اولی را خالی میکنه و اون یکی کارگر 60 درصد را خالی میکنه که دو کیسه و دو کارگر ، میزان و ترتیب کارشون به هم مرتبط نمیشه یا کمترین ارتباطی را با هم دارن) .

    اما هر پلاگین و هر افکت ای که در نرم افزارهای 2 بعدی بکار میبریم ، عملیاتی و کدهای مجزا و مستقل دارند بنابراین میشه هر کدوم شون را در یک لحظه توی نخ جدیدی اجرا کرد تا در نتیجه در هسته های مختلف درون پردازنده اجرا بشن و کارایی و سرعت پردازش بالاتر بره . همینطور خیلی از کارهای دیگه هم همینطورند و میشه در نخ های جدیدی اجرا بشن . مثلا وقتی 40 تا افکت و پلاگین برای یه لایه اِعمال میکنیم ، چون هر افکت و پلاگین ، کدی مستقل و مجزا دارن ، بنابراین میشه در یک لحظه ، در 40 نخ جدید اجراشون کرد تا در 40 هسته از یک پردازنده (فرض کنید پردازنده ی 64 هسته ای داریم) بصورت همزمان اجرا بشن و بنابراین سرعت رندر ، خیلی بالاتر بره اما این کار را نمیکنن (جواب در سئوال پست زیر)

  6. #6
    چرا برای هر پلاگینی که بکار میبریم ، یک نخ جدید ساخته نمیشه تا کارها و افکت های هر پلاگین در یک هسته ی جدید بصورت همزمان اجرا بشه و سرعت رندر بالا بره؟
    دقیق نمیدونم ولی به احتمال بسیار زیاد ، همین دلیلی هست که در زیر میگم .
    اول اینکه میدونید فیلم ها از تصویر ساخته شدند و تصاویر هم از پیکسل ها . در واقع وقتی چیزی رندر میشه ، چیزی نیست جز اینکه مشخص میشه که پیکسل ها ، چه رنگی داشته باشند . رنگ ها هم که عدد هستند . عددی بین 0 تا 16.7 میلیون . یعنی موتورهای رندر ، موقع رندر ، مشخص میکنن که برای فلان پیکسل ، چه عددی بین 0 تا 16.7 میلیون در نظر بگیرند .

    دلیل این سئوال این میتونه باشه که زمان رندر ، باید به ترتیب ، افکت قبلی ، ابتدا کدش را اجرا کنه تا مشخص بشه مثلا پیکسل شماره ی 1 ، چه عددی بهش (به عنوان رنگ) تعلق گرفته میشه (مثلا اِعمالِ افکتِ اول ، باعث شد رنگ شماره ی 459 برای پیکسل شماره ی 1 در نظر گرفته بشه) . بعد افکتِ بعدی (افکت شماره 2) روی همون پیکسل (پیکسل شماره ی 1) اجرا بشه تا این بار ، این افکت ، روی خروجیِ رنگِ افکتِ قبلی که 459 بود ، اِعمال بشه (یعنی ورودیِ رنگِ برای افکت شماره ی 2 ، خروجیِ رنگی که افکت قبلی ساخته بود باید باشه که در اینجا خروجیِ رنگِ افکت شماره ی 1 که رنگ شماره ی 459 در پیکسل 1 هست را به عنوان ورودی برای افکتِ شماره ی 2 در نظر گرفته میشه) تا افکت شماره ی 2 ، خروجی جدیدی به عنوان رنگ (مثلا رنگی با شماره ی 75924) برای همون پیکسل شماره ی 1 اِعمال کنه .

    این روند و این ترتیب ، همینطور برای تمام افکت ها ، اِعمال میشه .
    دلیلِ اینکه وقتی ترتیبِ افکت ها تغییر پیدا کنه ، ممکنه تصویر (چه رنگ تصویر یا هر چیزِ دیگه مثل اِعمال ماسک و ...) تغییر پیدا کنه ، همین هست .
    بنابراین چون رندر باید به ترتیبِ افکت و پلاگین ها انجام بشه (یعنی افکت اول باید کدش را اجرا کنه و بعد نوبت افکت دوم برسه و بعد نوبت افکت سوم برسه و ...) ، پس در یک لحظه ، فقط یک نخ و فقط یک هسته باید کارش را انجام بده .
    بنابراین در این نوع نرم افزارها ، رندرِ مربوط به افکت ها (تا اونجایی که مربوط به اجرای کدهای افکت ها و پلاگین ها که مهمترین عضو از رندر هستند ، میشه) فقط در یک هسته از پردازنده میتونه اجرا بشه .

  7. #7
    پس چرا در زمان رندر در نرم افزارهای 3 بعدی (در موتورهای رندر cpu based) ، از تمام هسته های پردازنده استفاده میشه؟
    همونطور که گفته شد ، در نرم افزارهای 3 بعدی زمان رندر توسط موتور رندرهای cpu based شون ، برخلاف زمان رندر در نرم افزارهای 2 بعدی مثل افترافکت و پریمیر و فتوشاپ و ... ، از تمام هسته های پردازنده استفاده میشه . حتی اگه پردازنده ای بیش از 64 هسته ای باشه (موتور رندر پیش فرض Cinema 4D ، در نسخه های قدیمی تر ، توان استفاده از پردازنده ای دارای 128 هسته ی فیزیکی را داشت و داره) .

    اما دلیل این تفاوتِ استفاده از هسته های cpu اینه در نرم افزارهای 3 بعدی (نسبت به رندر در نرم افزارهای 2 بعدی) اینه که در موتور رندر این نرم افزارهای 3 بعدی ، برای رندر تصویر ، همونطور که میدونید میاد تصویر را به چند بخش تقسیم میکنه که هر بخش ، یک مجموعه ای از پیکسل ها را رندر میکنه . هر بخش از اینها ، در یک نخ انجام میشه . تعداد این بخش ها هم احتمالا برابر با تعداد هسته های منطقیِ پردازنده ی کاربر هست .

    در لینک زیر ، تفاوت عملکرد پردازنده ها با تعداد هسته های مختلف در نرم افزار cinbench هست که نشون میده در نرم افزارهای 3 بعدی موقع رندر چه پردازنده هایی ، چه قدرتی دارن (فقط مربوط به زمان رندر در نرم افزارهای 3 بعدی در موتورهای رندر cpu based هست) :

    Cinema 4D CPU Rendering Performance: AMD Threadripper 3990X 64 Core

    ولی در رندرِ نرم افزارهای 2 بعدی (مثل افترافکت و ...) ، این تقسیم کار انجام نمیشه و کل تصویر را رندر میکنند .

  8. #8
    چرا رندر در نرم افزاری 2 بعدی (مثل افترافکت و پریمیر و فتوشاپ و ...) ، مثل رندر در نرم افزارهای 3 بعدی به چند بخش (نخ) تقسیم نمیشه تا از تمام توان هسته های پردازنده استفاده بشه؟
    خودم هنوز جواب این سئوال را متوجه نشدم .
    شاید بخاطر دشواریِ سازگاری با codec های صوتی تصویری باشه . یا دلیل دیگه ای که نمیدونم .




    فرکانس و کش بالاتر در پردازنده ، مهم هست؟ چقدر مهم هست؟
    از اونجایی هم که هر نخ (ممکنه) در هر هسته اجرا بشه و یکی از مهمترین عامل سرعت هر هسته ، فرکانس اش و کش اش هست ، پس فرکانس پردازنده هر چی بالاتر باشه و کش اش هر چی بیشتر باشه ، سرعت اجرای عملیات در اون نخ و کلا سرعت اجرا بالاتر میره .

    از اونجایی هم که بصورت معمول این نرم افزارها (بجز رندر در نرم افزارهای 3 بعدی) از 6 هسته استفاده میکنند ، پس قطعا انتخاب یک پردازنده ی 6 هسته ای که بالاترین فرکانس و بالاترین میزان کش را داشته باشه ، تاثیر مستقیمی بر افزایش سرعت پردازش در این نرم افزارها داره .

  9. #9
    پردازنده های Hyper Threading یا Simultaneous Multithreading چی هستن؟
    هسته هایی که ما در پردازنده ها میشناسیم ، به عنوان "هسته های فیزیکی" شناخته میشن . هر هسته ی فیزیکی ، حداقل دارای یک "هسته ی منطقی" هست . در واقع وقتی میگیم کدهای مون در هسته اجرا میشه ، یعنی در یک هسته ی منطقی اجرا میشه .


    هسته ها ، 4 نوع حافظه ی رجیستر و حافظه ی کش L1 و L2 و L3 دارند (به ترتیب سرعت شون نام برده شدن) .
    هر هسته ی فیزیکی ، حافظه ی رجیستری و حافظه ی کش l1 و l2 جداگانه ای برای خودش داره (بسته به طراحی و نسل پردازنده ها دارن) اما در هسته های منطقی بجز حافظه ی رجیستر (و در شرایطی هم حافظه ی کش L1) ، این حافظه ها مشترک هستند (یعنی حافظه ی کش L2 و در شرایطی حافظه ی کش L1 ، مشترک هستند) (البته بستگی به معماری پردازنده ، میتونه متفاوت باشه) .
    حافظه ی کش l3 که برای کل هسته های فیزیکی هم مشترک هست .


    اما برای اینکه پردازش سریعتر انجام بشه ، در بعضی از پردازنده ها ، درون هر هسته ی فیزیکی ، بجای اینکه فقط یک هسته ی منطقی تعبیه کنن ، دو تا هسته ی منطقی تعبیه کردند و از اونجایی هم که کدها در هر هسته ی منطقی اجرا میشه ، بنابراین در این نوع پردازنده ها ، هر هسته ی فیزیکی ، همزمان بجای اینکه فقط بتونه یک نخ را اجرا کنه ، میتونه همزمان دو نخ را اجرا کنه .


    منتها تفاوتش با نخ هایی که در دو هسته ی فیزیکی مجزا اجرا میشن اینه که چون حافظه ی کش l2 (و در شرایطی هم کش L1) در دو هسته ی منطقی ای که در یک هسته ی فیزیکی هستند ، مشترک هستند ، زمانی که نیاز به خوندن یا نوشتن اطلاعات در این حافظه ی مشترک بصورت همزمان باشه ، یک هسته ی منطقی (که در یک هسته ی فیزیکی هست) ، منتظر میمونه تا کارِ اون هسته ی منطقیِ دیگه (که در همون هسته ی فیزیکی هست) تمام بشه و بعد اجرای کدهای نخ اش را ادامه بده .


    بنابراین همین موضوع حافظه ی مشترک در دو هسته ی منطقی ای که در یک هسته ی فیزیکی هستند ، باعث میشه وقتی کدها(یی که در دو هسته ی منطی ای که در یک هسته ی فیزیکی قرار دارند) بجای اینکه کارایی و سرعت اجراشون 2 برابر بیشتر بشه ، فقط 30 درصد کارایی و سرعت شون افزایش پیدا میکنه (البته بین 12 تا نهایتا 50 درصد میتونه متفاوت باشه که معمولا بین 25 تا 30 درصد افزایش کارایی هست) .
    لازم به ذکر هست که سوئیچ بین نخ ها در دو هسته ی منطقی ای که در یک هسته ی فیزیکی هست ، بخاطر همین حافظه ی مشترک و بنابراین تبادل سریعتر اطلاعات ، سریعتر انجام میشه .


    به اینکه 2 هسته ی منطقی درون هر هسته ی فیزیکی تعبیه کنن (بجای اینکه فقط یک هسته ی منطقی درون هر هسته ی فیزیکی باشه) را اینتل اسم این نوع پردازنده اش را Hyper Threading (یا مختصرا HT) و AMD هم اسم این نوع پردازنده اش را Simultaneous Multithreading (یا مختصرا SMT) نامید .


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

  10. #10
    بهترین مدل پردازنده برای نرم افزارهای 2 بعدی (افترافکت و فتوشاپ و ...) و زمان طراحی در نرم افزارهای 3 بعدی (نه در زمان رندرینگ) ، کدوم مدل از پردازنده ها تا به امروز هستند؟
    پس در زمان ارسال این پست (98.11) و همونطور که در توضیحات نرم افزارهای 2 بعدی لینک داده شد ، پیشنهادم اینه که اگه بودجه ای میخواین خرج کنین که بهترین کارایی نسبت به هزینه را در این نرم افزارها داشته باشه (بجز در پریمیر که بهترین پردازنده براش Ryzen Threadripper 3960X با 24 هسته ی فیزیکی هست) در پردازنده های AMD ، از پردازنده Ryzen 5 3600 (با قیمت 3.3 تومن) و در صورت بودجه ی بیشتر ، پردازنده ی Ryzen 5 3600X (با قیمت 3.8 تومن) که 200 مگاهرتز فرکانس بیشتری داره ، استفاده کنین . این پردازنده ، یکی از عالی ترین انتخاب نسبت به قیمت برای این نرم افزارهاست .

    همچنین در پردازنده های اینتل ، بهترین پردازنده نسبت به قیمت ، پردازنده ی i5 9600K (با قیمت 3.46 تومن) هست و در صورت صرف بودجه ی بیشتر هر چند ارزش خرید بسیار پایین تر میاد ، پردازنده ی i7 9700K (با قیمت 6.8 تومن) میتونن انتخاب مناسبی از برند اینتل برای این نرم افزارها باشند .
    در صورت صرف هزینه ی کمتر از پردازنده ی i5 9600K ، پردازنده ی i5 9400F (با قیمت 2.29 تومن) پیشنهاد میشه .

    اگه هزینه ی بیشتری انجام میدین ، پردازنده ی i9 9900K (با قیمت 7.89 تومن) و همچنین در صورت هزینه ی بیشتر ، پردازنده ی i9 9900KS (با قیمت 10.65 تومن) پیشنهاد میشه اما i9 9900KS تقریبا با 3 برابر (2.8 برابر) قیمت Ryzen 5 3600X ، فقط حدود 15 درصد ازش بهتر عمل میکنه .

    همچنین در صورت صرف هزینه ی کمتر ، از برند AMD پردازنده های 4 هسته ای مثل Ryzen 5 3400G (با قیمت 2.5 تومن) و در صورت هزینه ی کمتر ، پردازنده ی Ryzen 3 1300X (با قیمت 1.98 تومن) و در صورت هزینه ی کمتر ، پردازنده ی Ryzen 3 1200 (با قیمت 1.225 تومن) و از برند اینتل ، پردازنده ی i3 9100F (با قیمت 1.28 تومن) پیشنهاد میشه .
    کمتر از پردازنده ی 4 هسته ای پیشنهاد نمیشه .


    بنابراین ، لیست قدرتمندترین پردازنده ها (زیر 12 هسته ای) به ترتیب برای این نرم افزارها (بدون در نظر گرفتن هزینه) :
    1) i9 9900KS (قیمت 10.65 تومن)
    2) i9 9900K (قیمت 7.89 تومن)
    3) Ryzen 9 3900X (قیمت 9.240 تومن)
    4) Ryzen 7 3800X (قیمت 6.4 تومن)
    5) i9 10900X
    6) Ryzen 7 3700X (قیمت 5.9 تومن)
    7) i7 9700K (قیمت 6.8 تومن)
    8) i9 9920X
    9) Ryzen 5 3600X (قیمت 3.8 تومن)
    10) Ryzen 5 3600 (قیمت 3.2 تومن)
    11) i9 9900X (قیمت 16.5تومن)
    12) i9 9800X
    13) i5 9600K (قیمت 3.46 تومن)
    14) Threadripper 2920X
    15) i9 9820X
    16) Ryzen 7 2700X
    17) Ryzen 5 2600X (قیمت 2.8 تومن)
    18) Ryzen 5 2600 (قیمت 2.5 تومن)
    19) i5 9400F (با قیمت 2.29 تومن)
    20) Ryzen 5 3400G (قیمت 2.5 تومن)
    21) i3 9100F (قیمت 1.28 تومن)
    22) Ryzen 3 1300X (قیمت 1.98 تومن)
    23) Ryzen 3 1200 (قیمت 1.225 تومن)


    لیست بهترین پردازنده ها نسبت به قیمت و در عین حال بهترین کارایی در این نرم افزارها (زیر 12 هسته ای) به ترتیب (اون پردازنده هایی که در حال حاضر در فروشگاه های ایران وجود دارند) :
    1) Ryzen 5 3600 (قیمت 3.2 تومن)
    2) Ryzen 5 3600X (قیمت 3.8 تومن)
    3) Ryzen 5 2600 (قیمت 2.5 تومن)
    4) Ryzen 5 2600X (قیمت 2.8 تومن)
    5) i5 9600K (قیمت 3.46 تومن)
    6) i5 9400F (با قیمت 2.29 تومن)
    7) i3 9100F (قیمت 1.28 تومن)
    8) Ryzen 5 3400G (قیمت 2.5 تومن)
    9) Ryzen 3 1200 (قیمت 1.225 تومن)
    10) Ryzen 3 1300X (قیمت 1.98 تومن)
    11) Ryzen 7 3700X (قیمت 5.9 تومن)
    12) Ryzen 7 3800X (قیمت 6.4 تومن)
    13) i9 9900K (قیمت 7.89 تومن)
    14) i7 9700K (قیمت 6.8 تومن)
    15) i9 9900K (قیمت 7.89 تومن)
    16) i9 9900KS (قیمت 10.65 تومن)
    17) Ryzen 9 3900X (قیمت 9.240 تومن)




    لیست بهترین پردازنده ها از لحاظ کارایی و هزینه برای نرم افزار پریمیر :
    1) Ryzen ThreadRipper 3960X (قیمت حدود 18 میلیون)
    2) i9 10980XE
    3) Ryzen 9 3950X
    4) Ryzen 9 3900X
    5) i9 9900K
    6) Ryzen 7 3800X
    7) Ryzen 5 3600


    قیمت ها ، بر اساس قیمت حال حاضر و اون هم در ایران هست (نه بر اساس قیمت جهانی) .

صفحه 1 از 4 123 ... آخرینآخرین

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •