رفتن به مطلب

پیش نمایش عملکرد DIRECTX 12


Recommended Posts

                                                                                          directx-12-logo-100251209-large-790x529.

 

 

 

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

 

 

 

 

APIها و نقش آنها در بازیسازی

 

اخبار یا عناوینی مانند «ملزومات مورد نیاز بازی» یا «System Requierments» را همگی ما بارها و بارها با عجله‌ی تمام خوانده‌ایم تا ببینیم آیا سیستم ما قادر به هماهنگی با آن هست و از پس اجرای بازی برمی آید یا خیر. اگر به ملزومات دقیق‌تر شویم معمولا اطلاعاتی مثل ملزومات اعلام شده برای بازی Witcher 3 را خواهیم دید:

 

 

                                                                                     1d7040f0d937535d02090e85fe0e9e33d00cd69c

 

 

 

 

 

 

به جز مشخصات سخت‌افزاری و نرم‌افزاری مدنظر سازندگان، معمولا نسخه‌ی پشتیبانی شده‌ی دایرکت‌ایکس هم ذکر می شود. دایرکت‌ایکس (Direct X) یک API استاندارد است که همخوانی کارت گرافیکی شما با آن یکی از اصول تضمین کننده اجرای بازی بر روی سیستم شما است، در غیر این صورت شانسی برای تجربه کردن بازی نخواهید داشت.

 

در دنیای برنامه‌نویسی رایانه، عبارتی با عنوان Application Programming Interface یا به اختصار API وجود دارد که به مجموعه ای از توابع ، دستورات و ابزارها اطلاق می شود که برای ساخت برنامه‌ها و بازی‌ها به کار می‌رود. سازندگان به واسطه ی API، قادر به دسترسی به امکانات سیستم عامل، ورودی و خروجی‌های سیستم و ارتباط با نرم افزارهای مورد نظر خواهند بود و دسترسی به سرویس‌های مورد نظر آنها با زبانی استاندارد تسهیل می‌شود.

 

سازندگان به واسطه ی API، قادر به دسترسی به امکانات سیستم عامل، ورودی و خروجی‌های سیستم و ارتباط با نرم افزارهای مورد نظر خواهند بود

 

 

 

آغاز رقابت برای تصاحب بازار

 

حدود یک سال و نیم پیش شرکت اِی‌اِم‌دی رقابتی را برای بهبود وضعیت رابطه‌ای برنامه‌نویسی گرافیکی یا به اختصار APIها آغاز کرد . مَنتِل (Mantle) نام API اختصاصی اِی‌اِم‌دی برای کارتهای گرافیکی Radeon است که از ناکارآمدی و لایه های اضافی API های رایج مثل دایرکت‌ایکس ۱۱ و OpenGL 4 اجتناب کرده و در عوض راه‌هایی را برای دسترسی مستقیم به تراشه گرافیکی، آن هم در سطح پایین برای بازیسازان فرآهم آورد.

 

 

                                                                                   598fc3fa337e024ee5b8a06acb605b2fd399865c

 

 

هر چند اِی‌اِم‌دی اولین شرکتی بود که چنین API را معرفی کرد اما آخرین آنها هم نبود. سال ۲۰۱۴ شاهد اعلام‌های رسمی APIهایی مانند دایرکت‌ایکس ۱۲ ، OpenGL Next و همینطور Metal از شرکت اَپل بودیم که همگی ایده‌های مشابهی را برای بهبود راندمان پیاده‌سازی کرده بودند. این موضوع را می توان رنسانسی در حیطه ی APIهای گرافیکی نامید که پس از سالها کندی، باعث پیشرفت در این مقوله شده بود، پیشرفتی که تا پیش از این نیازمند توسعه هماهنگ با پردازنده‌ها یا پردازنده‌ها در کنار تراشه‌های گرافیکی بود.

 

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

 

دایرکت‌ایکس ۱۲ ابتدا در همایش توسعه‌دهندگان بازی سال گذشته میلادی رونمایی شد، جایی که مایکروسافت اهداف تعیین شده از طراحی آن، دمویی از کارکرد کد اولیه و مشخصات فنی محدودی را که می توان برای این API در نظر گرفت، برشمرد. از آن زمان تا کنون، مایکروسافت سخت مشغول توسعه ی دایرکت‌ایکس ۱۲ و توسعه و پیاده سازی آن به عنوان بخشی از ویندوز ۱۰ بوده که نمونه ی ابتدایی آن در نسخه پیش نمایش این ویندوز جدید قابل دسترس است.

 

آیا دایرکت‌ایکس ۱۲ همان راندمان بهینه ای را که از مَنتِل سراغ داریم به ارمغان می آورد یا خیر؟ آیا می تواند گلوگاه شدن پردازنده را که دایرکت‌ایکس ۱۱ با آن درگیر بود برطرف سازد؟

 

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

 

                                                                            1ac037e5046db2dd60d017dac25c49d698ccf62b

 

 

 

سوال مهم این است که آیا دایرکت‌ایکس ۱۲ همان راندمان بهینه ای را که از مَنتِل سراغ داریم به ارمغان می آورد یا خیر؟ آیا می تواند گلوگاه شدن پردازنده را که دایرکت‌ایکس ۱۱ با آن درگیر بود برطرف سازد؟ و در ادامه چقدر مفهوم یک API سطح پایین برای دایرکت‌ایکس ۱۲ در کنار سخت افزارهای متنوع موجود مصداق پیدا می کند؟ ( APIهای سطح پایین تا قبل از این فقط برای یک کنسول با سخت افزار انحصاری و مشخص نوشته می‌شدند)

 

 

 

وضعیت کنونی دایرکت‌ایکس ۱۲ در ویندوز ۱۰

 

 

با اینکه دایرکت‌ایکس ۱۲ در آخرین نسخه ی پیش نمایش عمومی ویندوز ۱۰ وجود دارد اما بسیاری از قابلیتهای آن هنوز در حال تکمیل است.

 

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

 

پورت کردن دایرکت‌ایکس ۱۲ به ویندوزهای قدیمی‌تر مستلزم پورت کردن WDDM 2.0 هم هست که مشکلات متعددی را به همراه دارد چرا که در WDDM 2.0 درواقع بخشی از هسته ی سیستم عامل است و بنابراین قابل پورت کردن نیست

 

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

 

 

بازی Star Swarm و آزمایش عملی

 

همانطور که گفتیم برای تست عملکرد دایرکت‌ایکس ۱۲ از دموی بازی Star Swarm استفاده خواهیم کرد. این بازی دارای موتور گرافیکی نیتروس با قابلیت پشتیبانی همزمان از مَنتِل و دایرکت‌ایکس ۱۲ بوده و در سبک مبارزات فضایی طراحی شده است. ماهیت طراحی این بازی به گونه‌ای است که می‌تواند محدودیت‌های APIهای کنونی مثل دایرکت‌ایکس ۱۱ را برجسته کند و در عین حال مزیت‌های APIهای سطح پایین مانند دایرکت‌ایکس ۱۲ را هم به نمایش گذارد. این بازی به دلیل استفاده از واحدهای فراوان و به لطف افکت‌های دیگر، می تواند تا ۱۰۰هزار درخواست ترسیم یا Draw Calls را در آنِ‌واحد تولید کند؛ رقمی که در بازی معروف Assassin’s Creed” Unity حدود ۵۰ هزاردرخواست برآورد می‌شد و آن مشکلات فنی را هم برای بازی و سازندگانش رقم زد.

 

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

 

برای سیستم تست مرجع نیز این قطعات را در نظر گرفته ایم:

 

                                                                                90b843c106a43edc63b386c3b7e4d20c61f91bbb

 

 

در ادامه بررسی خواهیم کرد که آیا دایرکت‌ایکس ۱۲ همانگونه که تبلیغ شده کار می کند؟ پاسخ کوتاه این است: بله!

 

 

 

راندمان با پردازنده های مختلف

 

همانطور که گفتیم کلیدی‌ترین بخش آزمایش بازی Star Swarm و راندمان آن با دایرکت‌ایکس ۱۲ ، چگونگی هماهنگ شدن آن با پردازنده، مخصوصا در شرایطی‌ است که پردازنده ی اصلی چندان قوی نیست. چرا که این بازی قادر است ناکارآمدی‌های دایرکت‌ایکس ۱۱ را همزمان با حذف گلوگاه‌های پردازنده در دایرکت‌ایکس ۱۲ بصورت عینی نمایش دهد و شرایط مقایسه ی راندمان در این دو حالت را برای ما فرآهم کند. در اینجا راندمان بازی را در حالت‌های بهره گیری از پردازنده های شش، چهار و دو هسته ای و استفاده از کارت گرافیکی قدرتمند GTX 980 می بینیم:

 

 

                                                                          d34b8bb1cb7bef6bf08c609dd457554ce88e5976

 

 

همانطور که می‌بینید، نهایت راندمان در حالت دایرکت‌ایکس ۱۱ فقط با قویترین پردازنده به دست می‌آید ، در حالی که در دایرکت‌ایکس ۱۲ با یک پردازنده ی ۴ هسته‌ای هم می توان ۱۰۰درصد راندمان کارت GTX 980 را استفاده کرد.

 

 

 

راندمان با تراشه های گرافیکی مختلف

 

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

 

 

                                                                 04c9f9eb80ab64aa9cd2a6608083eecfa644533d

 

 

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

 

همچنین ملاحظه می کنید که راندمان کارت‌های اِنویدیا به مراتب بالاتر از همرده های اِی‌اِم‌دی آنها است که می‌تواند ناشی از کیفیت درایورهای موجود و عدم بهینه‌سازی آنها باشد. در عین حال می توان دید بیشترین درصد افزایش راندمان هم در کارتهای اِی‌اِم‌دی رخ داده است. مثلا راندمان کارت GTX 980 با سوییچ کردن API حدود ۱۵۰ درصد افزایش پیدا کرده و به ۶۶ فریم رسیده ، در حالی که راندمان کارت اِی‌اِم‌دی R9 290X با افزایشی ۴۱۶ درصدی به حدود ۴۵ فریم رسیده است!

 

ضعف دایرکت‌ایکس ۱۱ کاملا مشهود است و افزایش راندمان با سوییچ به دایرکت‌ایکس ۱۲ تا حدی زیاد است که می توان آن را با ارتقا به کارت گرافیکی جدیدتر مقایسه کرد

 

 

توان مصرفی در دایرکت‌ایکس ۱۲

 

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

 

                                                                          e44b82909dfa670e13d461f1307737e2fc632268

 

 

 

جمع بندی

 

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

 

 

                                                                   2fcd7b3d1e23245fc682763c148472375bca574b

 

 

منبع

ویرایش شده توسط BlackSound
لینک به دیدگاه
Share on other sites

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پست در این تاپیک...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
  • اضافه کردن...