این روزها، هم کنسولهای بازی و هم کامپیوترهای گیمینگ دارای پردازندههایی با چندین هستهی مختلف هستند. با این حال، احتمالاً همچنان میشنوید که عملکرد تکهستهای پردازنده در نحوهی اجرای بازی نقشی پررنگ دارد و باید به آن توجه کرد. از این رو، برای آشنایی بیشتر با عملکرد تکهستهای پردازنده و اهمیت آن در اجرای بازی، با اِروتِک همراه باشید.
منظور از عملکرد تکهستهای پردازنده چیست؟
پردازندههای مرکزی (CPU) امروزی چندین «هسته» دارند که هر هسته اساساً یک پردازندهی کامل و مجزا است. بنابراین یک CPU مدرن در واقع چندین پردازندهی دیگر را در خود جای میدهد. وقتی در مورد عملکرد تکهستهای صحبت میکنیم، منظورمان بهترین عملکرد ممکنی است که میتوانید از یک هسته در پردازنده با نهایت توان آن دریافت کنید.
از طرف دیگر، نرمافزار «رشتههایی» را ایجاد میکند که هر کدام توسط یک هستهی مجزا پردازش میشوند. برخی از پردازندهها حتی میتوانند با استفاده از فناوریهایی مانند Hyperthreading روی چندین رشته بهطور همزمان کار کنند.
بهطور مثال، اگر در حال ویرایش ویدیویی در برنامهی ادوبی پریمیر (Adobe Premiere) هستید، حجم کار رندر میتواند به چندین رشته تقسیم شود. در صورتی که CPU دستگاه شما میتواند ۱۲ رشته را پردازش کند، این پردازنده ۱۲ رشته را دریافت میکند. اگر هم پردازندهی مرکزی کامپیوتر قادر به پردازش ۱۰۰ رشته است، همان تعداد رشته را دریافت خواهد کرد. به عبارت دیگر، CPU بهطور کامل مورداستفاده قرار میگیرد و کارایی بیشتری را ارائه میدهد.
با این حال، اگر تمام هستههای CPU درگیر باشند، عملکرد فردی آنها به همان سرعتی که بهتنهایی میتوانستند داشته باشند نیست. دلیل کاهش سرعت و عملکرد هستهها به این برمیگردد که اگر تمام هستهها تحت فشار قرار بگیرند، مصرف گرما و انرژی نیز افزایش مییابد و موجب گرم شدن پردازنده خواهد شد. برای اینکه چنین اتفاقی نیفتد، هستهها با سرعت کمتری کار میکنند. با این وجود، هنوز میتوان انتظار عملکرد بسیار بهتری را نسبت به سپردن تمامی پردازشها به یک هسته با سرعت کلاک بالاتر داشت.
اکثر بازیها از هستههای زیادی استفاده نمیکنند!
مشکل اینجاست که پردازش تمامی نرمافزارها را نمیتوان به این شکل به رشتههای مختلف تقسیم کرد. در کارهایی مانند رندر گرافیکی یا ویرایش ویدیو، تقسیم کار برای هر هستهی پردازندهی مرکزی بهسادگی انجام میپذیرد. با این حال، بازیها از نظر فنی پیچیدهتر هستند و نیازهای مختلفی دارند. بهطور مثال، یک بازی خاص ممکن است یک رشته را برای رندر کردن فیزیک، رشتهی دیگر را برای هوش مصنوعی، یک رشته را برای اجرای شبیهسازی ویژه در محیط جهانباز و رشتهی دیگر را برای کمک به کارت گرافیک جهت به نمایش درآوردن ویژگی رهگیری پرتو (Ray Tracing) و موارد دیگر اختصاص دهد.
بازیها از نظر مدیریت رشتهها و تقسیم کار بین هستههای مختلف با چالش مواجه هستند. به همین دلیل، اهمیت عملکرد تکهستهای پردازنده در بازی بیشتر به چشم میآید. اگر فقط میخواهید از سیستم خود برای بازیهای ویدیویی استفاده کنید، به هستههای زیادی نیاز ندارید. این روزها، به نظر میرسد که بهترین گزینه برای تعداد هستههای پردازنده بین شش تا هشت عدد باشد، چرا که کنسولهای نسل نهمی نیز به پردازندههای هشتهستهای مجهز هستند و تمرکز اصلی توسعهدهندگان بهینهسازی بازیها برای این پردازندهها است.
نقش تعیینکنندهی رشتهی اصلی
شاید بپرسید که با این توضیحات دقیقاً مشکل عملکرد تکهستهای چیست؟ در اکثر بازیها نیاز به یک رشتهی اصلی وجود دارد که اساساً ستون فقرات بازی است، تمامی فرآیندهای اصلی بازی توسط آن اجرا میشوند و وظیفهی توزیع کار به سایر رشتهها را بر عهده دارد. به بیان دیگر، سایر رشتههای بازی باید منتظر این رشته بمانند تا بتوانند کار خود را انجام دهند.
بنابراین، سریعترین عملکرد بازی نمیتواند از حداکثر سرعت این رشتهی اصلی بیشتر باشد. احتمالاً تاکنون اصطلاحاتی مانند گلوگاه یا باتلنِک CPU را شنیدهاید؛ گلوگاه پردازنده بهطور کلی به این دلیل است که بازی یا نرمافزار به حداکثر عملکرد یک رشتهی پردازندهی مرکزی محدود شده است و مانع از بهرهگیری کاربر از حداکثر توان قطعات کامپیوتر خود میشود.
گرانترین پردازنده با بیشترین تعداد هسته، لزوماً بهترین گزینه برای گیمینگ نیست!
پردازندههای با تعداد هستههای بالا معمولاً در مقایسه با پردازندههای ارزانتر در خط تولید خودشان، عملکرد تکهستهای ضعیفتری دارند. این پردازندهها بیشتر برای نرمافزارهایی ساخته شدهاند که قادر به تقسیم کار خود بهصورت مساوی میان تمامی هستهها هستند. اگرچه پردازندههای مجهز به هستههای متعدد در چنین نرمافزارها و وظایفی میدرخشند و نهایت توان خود را به نمایش میگذارند، اما در عملکرد تکهستهای نمیتوانند نتایج یکسانی را تکرار کنند و بهتر از پردازندههای ارزانتر با هستههای کمتر ظاهر شوند.
با این حال، همیشه چنین چیزی صادق نیست و اگر دو CPU تعداد هستههای متفاوتی داشته باشند اما سرعت و توان تکهستهای هر دو یکسان باشد، عملکرد تکهستهای هر دو پردازنده در بازی تا حد زیادی مشابه خواهد بود. اگر تنها دنبال کامپیوتری برای اجرای بازیهای جدید هستید، یک پردازندهی گرانقیمت ۲۴ هستهای هیچ کاربردی برای شما ندارد، در صورتیکه یک پردازندهی هشت یا دوازدههستهای قدرتمند با سرعت کلاک بالا میتواند جدیدترین بازیها را با عملکرد مناسبی اجرا کند.
بازیها در حال تغییر هستند!
اگرچه عملکرد تکهستهای همچنان در بازیهای ویدیویی اهمیت زیادی دارد، اما این روند بهمرور در حال تغییر است. موتورهای ساخت بازیهای ویدیویی روزبهروز در استفاده از هستههای بیشتر بهتر میشوند و توسعهدهندگان راههای هوشمندانهای را برای پخش حجم کاری یک بازی در هستههای مختلف CPU پیدا میکنند. برای مثال، بازی دووم ایترنال (Doom Eternal) از استودیو اید سافتور (id Software) و شرکت بتسدا (Bethesda)، وظایف را بین هستههای مختلف تقسیم میکند و در جریان گیمپلی تنها به یک رشته و هسته محدود نمیشود.
علیرغم اینکه در زمان نگارش این متن هنوز خرید پردازنده با بیش از هشت هسته برای اجرای بازیها پیشنهاد نمیشود، اما در ادامهی نسل نهم مطمئناً شاهد بازیهایی خواهیم بود که میتوانند بدون ایجاد گلوگاه، از هستههای متعدد پردازنده بیشتر بهره ببرند.
منبع: Howtogeek