اخبار بازی‌های و منتل : آزمایش و توسعه‌ی بیشتر Mantle ادامه پیدا می‌کند!

ای‌‌ام‌دی با API منتل قصد بهینه‌سازی استفاده از پردازنده‌های چند هسته‌ای و به طور کلی ارتباط بین پردازنده‌ی اصلی و گرافیکی را دارد. در حقیقت منتل هم مثل Vulcan و دایرکت ایکس ۱۲ نوعی واسط برنامه‌نویسی با دسترسی سطح پایین به سخت‌افزار است که امکان بهینه‌سازی بیشتر را به توسعه‌دهندگان بازی و موتورهای گرافیکی می‌دهد. در ادامه به معرفی و اثر Mantle در سرعت اجرای بازی‌ها می‌پردازم.

منتل چیست و AMD با چه هدفی آن را معرفی کرده است؟

در برنامه‌نویسی و تولید بازی‌های کامپیوتری از واسطهای برنامه‌نویسی استفاده می‌شود. برای مطالعه‌ی بیشتر در خصوص واسط برنامه‌نویسی که یک مثال بسیار مهم و کاربردی آن DirectX است، به مقاله‌ی دانش‌نامه‌ای اینتوتک سری بزنید:

تبلت سرفیس با پشتیبانی از DirectX 11.1

DirectX چیست و چرا کارت گرافیک و بازی‌ها باید از دیرکت ایکس جدید پشتیبانی کند؟

DirectX مجموعه‌ای از ابزارهای برنامه‌نویسی برای ساخت بازی‌هاست که پشتیبانی کارت گرافیک از آخرین نسخه‌های آن، سرعت و کیفیت اجرای بازی و نرم‌افزارهای مربوطه را افزایش می‌دهد.

اما به Mantle بپردازیم. ای‌ام‌دی مدت‌هاست که به hUMA و HSA فکر می‌کند و می‌خواهد دسترسی به بخش‌های مختلف سخت‌افزار و ارتباط آنها با هم بهینه باشد. یکی از راهکارها معرفی منتل است.

Mantleبهینه است چرا که سطح دسترسی پایین‌تری دارد.

منتل برای دسترسی سطح پایین به سخت‌افزار که شامل پردازنده‌ی اصلی و گرافیکی و رم سیستم است طراحی شده، البته دسترسی سطح پایین کار برنامه‌نویس را کمی مشکل می‌کند ولیکن AMD به این مهم هم توجه زیادی داشته و کارها را برای سازنده‌ی بازی ساده کرده است. بازی سیویلایزیشن جدید یعنی Civilization: Beyond Earth یکی از عناوینی است که از منتل استفاده می‌کند. لذا تصمیم گرفتم به نتیجه‌ی بررسی این بازی و بنچ‌مارک‌هایی یکی از وب‌سایت‌های معتبر سری زده و در خصوص مقیاس‌پذیری منتل برایتان بنویسم.

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

به طور کلی وقتی از ۲ کارت گرافیک استفاده کنیم، عملکرد سیستم دو برابر نمی‌شود! به هر حال برای تقسیم بار پردازشی بین دو کارت گرافیک به منابع سخت‌افزاری بیشتری نیاز داریم. از طرفی رم و پردازنده‌ی اصلی را نمی‌توان به طور کامل استفاده کرد. مثلاً پردازنده‌ی ۸ هسته‌ای FX-8350 با وجود آنکه بسیار سریع است و ۸ هسته‌ی قدرتمند دارد، نسبت به ۴ هسته‌ای Core i7-4770K ناتوان ظاهر می‌شود. عموماً در بازی‌ها پردازنده‌های اینتلی بهتر هستند اما منتل در برخی بنچ‌مارک‌ها کاری می‌کند که ۸ هسته‌ای‌های ای‌ام‌دی به اینتلی‌های ۴ هسته‌ای نزدیک شده و حتی گاهی بهتر ظاهر شوند.

تقسیم کار بین کارت گرافیک‌ها

با AFR فریم‌ها بین دو کارت گرافیک تقسیم می‌شوند.

بیشتر بازی‌ها برای تقسیم کار بین چند پردازنده‌ی گرافیکی از روشی موسوم به رندر کردن تناوبی فریم یا AFR استفاده می‌کنند. در این روش فریم‌های متوالی بین پردازنده‌های مختلف تقسیم می‌شوند. مثلاً کارت گرافیک اصلی فریم‌های شماره‌ی ۱، ۳، ۵ و ۷ را رندر می‌کند و کارت گرافیک دوم، فریم‌های زوج را پردازش می‌کند. این روش تقسیم ساده است و معمولاً نتیجه‌ی خوبی و یکنواختی دارد؛ اما معمولاً نه همیشه! گاهی پدیده‌ی مایکرواستاتریک یا وقفه‌های گذرا بسیار شدید می‌شوند و اجرای روان بازی را ناممکن می‌کنند.

در SFR تکه‌های یک فریم بین کارت گرافیک‌ها تقسیم می‌شود.

Firaxis سازنده‌ی بازی سیویلازیشن: بیاند ارث سراغ یک روش دیگر رفته است: SFR یا کردن قطعات فریم. در این روش فریم که متشکل از بخش‌های کوچک مربعی است، به تکه‌های کوچک‌تر تقسیم شده و هر تکه‌ی کوچک توسط یکی از پردازنده‌های گرافیکی رندر می‌شود. در اولین روزهای معرفی SLI انویدیا و Crossfire ای‌ام‌دی، امکان انتخاب SFR یا AFR وجود داشت اما چند سال است که دیگر خبری از انتخاب نیست! حالت پیش‌فرض و در واقع تنها حالت AFR است چرا که عملکرد این روش بهتر است و سرعت اجرای بازی را بیشتر می‌کند.

بازی سیویلایزیشن از رندر کردن قطعات فریم توسط چند کارت گرافیک استفاده می‌کند

بازی سیویلایزیشن از رندر کردن قطعات فریم توسط چند کارت گرافیک استفاده می‌کند

اما Firaxis سراغ SFR رفته به این علت که موضوع تأخیر یا همان مایکرواستاترینگی که به آن اشاره کردم، یک معضل جدی است. منتل در تقسیم بهتر کار ایفای نقش می‌کند و باید دید که SFR در بازی سیویلایزشن: بیاند ارث و اجرا به کمک چند کارت گرافیک، چه عملکردی نشان می‌دهد؟

روش فعال کردن Mantle در بازی‌های مختلف

در بازی‌های جدید در بخش تنظیمات گرافیکی می‌توان واژه‌ی Mantle را رویت کرد. البته درایور کارت گرافیک شما هم باید بروز باشد.

در بازی بتلفیلد تصویر زیر گویای همه‌چیز است:

فعال کردن منتل در بازی بتلفیلد 4

فعال کردن منتل در بازی بتلفیلد ۴

در بازی Thief هم پیش از اجرا می‌بایست تیک گزینه‌ی Mantle را اضافه کرد:

فعال کردن منتل در بازی Thief

فعال کردن منتل در بازی Thief

در بازی سیویلازیشن بیاند ارث، در پوشه‌ی بازی فایلی به نام GraphicsSettings.ini وجود دارد. آن را باز کنید و عبارت mGPU = 0 را به mGPU = 1 تغییر دهید.

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

در بررسی بنچ‌مارک‌ها، حالت یک کارت گرافیکی و دو کارت گرافیکی را بررسی می‌کنیم. ابتدا به نمودار متوسط سرعت اجرای بازی توجه کنید، دقت کنید که تنظیمات در حالت Ultra است، آنتی-الیاسینگ روی MSAA با ۴ نمونه تنظیم شده و رزولوشن QHD است.

متوسط سرعت اجرای بازی Civilization: Beyond Earth

متوسط سرعت اجرای بازی Civilization: Beyond Earth

روشن است که منتل نسبت به دایرکت ایکس ۱۱ کمی بهتر عمل می‌کند، چند درصد؟ به طور دقیق ۴٫۶ درصد سریع‌تر. این تفاوت مهمی نیست.

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

حداقل سرعت اجرای بازی Civilization: Beyond Earth

حداقل سرعت اجرای بازی Civilization: Beyond Earth

مشاهده می‌کنید که منتل در روان‌تر اجرا کردن کندترین صحنه‌ها بسیار موثر است به طوری که حدود ۱۶ درصد بر سرعت اجرا افزوده است.

اما ببینیم در حالت دو کارت گرافیکی چه اتفاقی می‌افتد.

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

با استفاده از دو کارت گرافیک در حالت کراس‌فایر در حالت عادی یعنی استفاده از دایرکت‌ایکس ۱۱، سرعت اجرا کمی بیشتر از حالتی است که با منتل کار کنیم. ببینید:

متوسط سرعت اجرای بازی Civilization: Beyond Earth

متوسط سرعت اجرای بازی Civilization: Beyond Earth

اما بهتر است نگاهی به نمودار سرعت اجرا بیاندازیم و ببینیم کدام API در اجرای روان‌تر بازی عملکرد بهتری دارد.

سرعت اجرای بازی متوسط سرعت اجرای بازی Civilization: Beyond Earth بر حسب زمان

سرعت اجرای بازی متوسط سرعت اجرای بازی Civilization: Beyond Earth بر حسب زمان

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

دقت کنید که R9 295X2 ترکیب دو کارت گرافیک R9 290X است.

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

نتیجه‌گیری و سخن آخر

واسط برنامه‌نویسی Mantle گزینه‌ی خوبی برای بهینه‌سازی اجرای بازی‌های امروزی است. مخصوصاً زمانی که صحبت از پردازنده‌های ۸ هسته‌ای ای‌ام‌دی باشد که سرعت هر هسته‌ی آنها، مشابه اینتلی‌هاست اما عملکرد هر هسته، به عددی مثل نصف اینتلی‌ها نزدیک است.

در مجموع اثر منتل از ۳ درصد تا ۱۶ درصد در بازی‌هایی مثل Thief، Battlefield 4 و بازی جدید Civilization: Beyond Earth متغیر است. گاهی سرعت اجرا با منتل کمتر از دایرکت ایکس است که البته بسیار کم چنین چیزی اتفاق می‌افتد.

به نتیجه‌ی اجرای دو بازی بتلفیلد ۴ و ثیف توجه کنید:

سرعت اجرا در رزولوشن ۲۱۶۰pیکنواختی اجرا در رزولوشن ۲۱۶۰p
سرعت کارت گرافیک GTX 980 در Battlefield 4

سرعت کارت گرافیک GTX 980 در Battlefield 4

یکنواختی سرعت کارت گرافیک GTX 980 در Battlefield 4

یکنواختی سرعت کارت گرافیک GTX 980 در Battlefield 4

سرعت اجرا در رزولوشن ۲۱۶۰pیکنواختی اجرا در رزولوشن ۲۱۶۰p
سرعت کارت گرافیک GTX 980 در Thief

سرعت کارت گرافیک GTX 980 در Thief

یکنواختی سرعت کارت گرافیک GTX 980 در Thief

یکنواختی سرعت کارت گرافیک GTX 980 در Thief

تا معرفی رسمی مشخصات و ویژگی‌های دایرکت ایکس ۱۲ مایکروسافت، منتل API خوبی است و به نظر می‌رسد که ای‌ام‌دی را به اهداف از پیش تعیین شده رسانده است.

نکته‌ی دیگری که باید در نظر داشت، این است که در کنسول‌های نسل هشتمی یعنی پلی‌استیشن ۴ و اکس‌باکس وان از تراشه‌ی ساخت ای‌ام‌دی استفاده شده است. تراشه‌ای با دو گروه ۴ هسته‌ای جگوار که سرعت هر هسته پایین‌تر از ۲ گیگاهرتز است. بیشتر بازی‌ها در استفاده از ۴ هسته هم مشکل دارند چه رسد به آنکه ۸ هسته‌ی مختلف داشته باشیم. شاید منتل در این بخش اثر خوبی داشته باشد و کار را بهتر از دایرکت ایکس ۱۱ بین هسته‌ها تقسیم کند. البته یادمان نرود که پلی‌استیشن از دایرکت ایکس برای ساخت بازی‌ها استفاده نمی‌کند و شاید با منتل هم میانه‌ی خوبی نداشته باشد.

بازگشت به دانش‌نامه
1 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 5 (1 نظر، امتیاز: 5٫00 از 5)
برای نظر دادن ابتدا باید ثبت نام کنید.
Loading...
لينک کوتاه:

FacebookTwitterGoogle


متاسفیم. نظرات بسته است.

متاسفیم. نظرات بسته است.

تبلیغات

تبلیغات

تبلیغات

×