بازی Quantum Break

مراسم توسعه دهندگان بازی های کامپیوتری (GDC 2016) امسال نیز همچون سال های قبل شروعی طوفانی داشت و محلی برای نمایش پیشرفت های فنی و گرافیکی تیم های بازی سازی مختلف بود. یکی از تیم های قدرتمندی که در این مراسم حضور داشت، استدیو رمدی بود که با سخنرانی آقای ویل تیمونن «Ville Timonen» موفق شد نمایش بسیار خوبی را از خودش به نمایش بگذارد. ویل تیمونن «Ville Timonen» در این مراسم در مورد موتور نورث لایت «Northlight» بازی Quantum Break و میزان پیشرفت هایش بر روی Direct X 12 صحبت های فنی زیادی کرده که بخشی از آن را در زیر میتوانید بخوانید.

موضوع کنفرانس استدیو رمدی تشریح توانایی های موتور گرافیکی جدید و انحصاری این استدیو به نام نورث لایت «Northlight» بود که حاصلش شاهکار Quantum Break است. شاهکاری تا زمان حال در سه مقاله بررسی فنی بازی Quantum Break، تاوان زلزله در زمان؛ نگاهی به بازی Quantum Break و بررسی سیستم نور پردازی پیشرفته Quantum Break به صورتی دقیق به موشکافی بازی پرداختیم. اما مهمترین صحبت های این کنفرانس مربوط به ویژگی های موتور نورث لایت «Northlight» در واسط برنامه نویسی Direct X 12 است.

نسخه مبتنی بر Direct X 12 بازی Quantum Break در ابتدا برای کنسول Xbox One طراحی شد و سپس با توجه به بهینه سازی های مختلف برای پلتفرم PC عرضه شد. اما استفاده از قابلیت های موجود در Direct X 12 بیش از هر چیزی به هنر و توانایی بازی سازان بستگی دارد. بنابراین استفاده ساده از ان رابط جدید هیچ تاثیر شگرفی در بازی ندارد. اما یکی از قابلیت بسیار مهمی که در DirectX 12 مورد استفاده قرار گرفته، حرکت به سمت برنامه نویسی سطح پایین است. این دقیقاً همان چیزی است که در منتل (Mantle) هم دیده بودیم.

برنامه نویسی سطح پایین در Quantum Break

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

به همین دلیل است که چنین سطح برنامه نویسی برای کنسول های نسل هشتمی PS4 و Xbox One مورداستفاده قرار خواهد گرفت. نمیشود گفت PC جزو این پلتفرم حساب نمیشود، پس بهتر است به PC به عنوان یکی از انعطاف پذیرترین پلتفرم های بازی نگاه کنیم که برای مدتی طولانی خارج از پلتفرم های(API) سطح بالایی همچون Direct3D و OpenGL کار میکرد. بخش عمده ای از کار رابط های برنامه نویسی «APU» همچون DirectX 12 آماده سازی دیتا برای تراشه های گرافیکی است.

تراشه هایی که با توجه به ماهیت تک رشته ای خود باعث کاهش سرعت در عملکرد پردازنده «CPU» و در نهایت ایجاد تنگنا یا سربار اضافی برای آن میشود. به عنوان یک نتیجه از این موضوع باید گفت که پتانسیل این روش برای «Bottlenecking» یا تنگنا بسیار زیاد است و همین موارد است که کیفیت نهایی که بازی روی کنسول و صد البته قیمت پردازنده های PC را مشخص میکند. پس به دلیل Bottlenecking یا تنگنای بسیار زیاد است که نیاز به رابط برنامه نویسی سطح پایین احساس میشود و باید گفت که برنامه نویسی سطح پایین در برابر این نوع تنگناها بسیار مقاوم است.

Quantum Break Quantum Break

دو تصویر فوق نحوه رندر تصاویر Quantum Break در بازی را نشان میدهند. در این دو تصویر از تکنیک هایی همچون GBuffer, Velocity, Shadow passes استفاده است.

بهتر است این توضیح را اضافه کنیم که در DirectX 11 مدیریت و تنظیم وضعیت خط لوله ها «Pipeline State» توسط آبجکت های متفاوتی انجام میشد که این مورد برای سخت افزار های کنونی اصلا مناسب نبود. به دلیل نیاز به نوع دسترسی سطح پایین به سخت افزار نیاز بود تا از ایجاد تاخیر در بار پردازش اضافی و کاهش تعداد نرخ فریم ریت جلوگیری شود. مثلاً در نسخه DirectX 11 قابلیت هایی همچون Pixel Shader State, Output Merger State و … به طور مستقل قابل تنظیم هستند که به دلیل مناسب نبودن برای سخت افزار های کنونی در نسخه جدید حذف شده اند تا از کاهش فریم ریت جلوگیری شود.

اما DirectX 12 با یکپارچه سازی تمامی ویژگی های نسخه قبلی همچون Pipeline State Objects یا (PSO) که در ترسیم تصویر نهایی نقش مستقیم دارند مشکلات افت فریم و پردازش اضافی را حل کرده است که حاصل آن را در بازی Forza MotorSport 5 دیده ایم. این تغییر به صخت افزار اجازه میدهد تا به راحتی و به سرعت بتواند PSO ها را به دستورالعمل های سخت افزاری در هر State تبدیل کند. هر کدام از PSO ها نیز به صورت زنده (Real-Time) قابل تغییرند و برای انجام عمل نهایی بدون نیاز به واسطه هایی همچون State ها به ریجسترهای سخت افزاری داده میشوند تا بار پردازش برادری آغاز شود.

این روش در نهایت باعث کاهش بار پردازش ترسیمی و افزایش تعداد فریم ریت در بازی نهایی خواهد شد. اما مهمترین ویژگی DirectX 12 در مدل سازی Quantum Break ویژگی جدیدی به نام Work-Pre-Computotion است که تنها یکبار ارائه میشود و پس از هر ارائه پردازشی به GPU از بین میرود. این مدل برای ساخت و رندر نهایی یک کاراکتر بسیار ساده خواهد و فراخوانی آن نیازی به استفاده از روش Self-Contained ندارد تنها نیاز به یک بسته Character Model دارد تا توابع ترسیمی فراخوانی شوند.

Quantum Break Quantum Break

تست Full-screen lighting یاروشنایی کامل صفحه نمایش در DirectX 12

این روش هم موجب کاهش بار پردازشی Quantum Break و افزایش سرعت رندرینگ و در نهایت افزایش میزان فریم ریت در بازی های سنگین و Quantum Break میشود. البته بحث فنی و قابلیت های موجود در این نسخه بسیار فراتر و تخصصی تر این نوشته است و از حوصله این مقاله و خوانندگان عزیز هم خارج است. به همین دلیل مقدار توضیحات ارائه شده تا همین مقدار را کافی میدانیم.به هر حال عدم استفاده درست از DirectX 12 نیز میتواند تجربه بسیار بدی همچون Gears of War Ultimate Edition را به وجود بیاورد.

توضیحات فنی کمی که در بالا ارائه کردیم به نوعی توسط سازندگان بازی هم تایید شد و در مراسم GDC 2016 به این نکته اشاره شده که برای طراحی صحیح بازی های مبتنی بر DirectX 12 باید تمرکز جداگانه ای بر فرآیندهای پردازشی گرافیکی و پردازنده مرکزی صورت گیرد و وظایف هر قطعه به صورت کاملاً مجزا تعریف شود. این دقیقاً چیزی بود که در DirectX 11 نیاز نبود و به راحتی میشد بازی های مختلفی را مبتنی بر این رابط برنامه نویسی طراحی کرد.

DirectX 12 قابلیت مدیریت قطعات سخت افزاری مختلف به منظور طراحی بهینه بازی را برای سازنده فراهم میکند و این مورد نیز در مراسم GDC 2016 توسط آقای ویل تیمونن «Ville Timonen»  توضیح داده شد. مثلاً کنترل مقدار مصرف حافظه ویدویی یکی از از اهرم های کلیدی DirectX 12 است که به کمکش سازنده میتواند بازی بسیار بهینه تری را برای طیف گسترده ای از دستگاه های مختلف طراحی و عرضه کند. نکته ای که در مورد DirectX 12 در کنفرانس مربوطه مطرح شد این بود که با استفاده گسترده از این رابط؛ نقش درایورهای گرافیکی به حداقل میرسد.

Quantum Break Quantum Break

استفاده از دو ویژگی Primary, transparent passes در بازی Quantum Break با DirectX 12

این بدین معناست که خود سازندگان میتوانند بازی هایی کاملاً متناسب با معماری های مختلف گرافیکی عرضه کنند که دیگر نیازی به آپدیت های درایوری برای برطف کردن ایرادات موجود در آنها نیست. آقای ویل تیمونن «Ville Timonen» در کنفرانس اختصاصی استدیو رمید «Remedy» پیرامون همین مطلب و خطاب به بازیسازان میگوید که: با استفاده صحیح از DirectX 12؛ شما میتوانید خودتان را به درایور تبدیل کنید! بنابراین تنها برگ برنده را میتوان استفاده بسیار بهینه از این رابط برنامه نویسی سطح پایین دانست تا حداقل شرایطی هم سطح با DirectX 11 را فراهم کند.

مدیریت صحیح حافظه در DirectX 12

آقای ویل تیمونن «Ville Timonen» در این مراسم برای مدیریت صحیح حافظه در DirectX 12 اهمیت ویژه ای قائل بود و عدم توجه به این مقوله در DirectX 12 را بسیار خطرناک و پر هزینه توصیف کرد. همچنین او به این نکته هم اشاره کرده که معماری کارت های گرافیک فعلی موجود در بازار توانایی پشتیبانی و استفاده صحیح از ویژگی های DirectX 12 را ندارند و باید منتظر نسل بعدی معماری های گرافیکی باشیم. این دقیقاً همان چیزی است که ما در بررسی ویژه تحلیل | دعوای انویدیا و AMD در Ashes of the Singularity با DX12 به طور مفصل به آن پرداختیم.

بدین معنا که آقای ویل تیمونن «Ville Timonen» به صورت غیر مستقیم به ضعف کارت های انویدیا در پردازش موتور محاسباتی غیرهمگام یا «Asynchronous Compute Engines» اشاره کرده که تا چند مدت محل بحث و جدل انویدیا و چندین شرکت دیگر بود. این واحد ها به این منظور به خدمت گرفته شدند که به دستورات پردازنده (Command Processor) برای عملیات های مربوط به محاسبات (Compute) کمک کنند. هدف اصلی ACEs ها قبول کارها برای ارسال به CU برای پردازش است.

Quantum Break Quantum Break

دو تصویر فوق نتیجه عملیات بسیار سنگین پس پردازش «Post-processing» رابط Direct X 12 در Quantum Break است.

(نقشی شبیه GTE یا Giga Thread Engine های انویدیا که شاید عملکرد صحیح و برنامه ریزی صحیح این واحد، میتوانست کارایی نهایی و قدرت فرمی را در محاسبات GPGPU افزایش میداد که اینگونه نشد). انویدیا کلا زمانبندی و سازماندهی دستورالعمل ها را به دوبخش تقسیم کرده و اکثر بخش های نرم افزاری این کمپانی بر پایه درایور و باقی آنها نیز در داخل بستر تراشه و به صورت سخت افزاری قرار گرفتند. اما AMD همچون معماری Fermi انویدیا اکثر بخش ها، یعنی تقریبا همه بخش های سازماندهی Wave Front ها را داخل تراشه و به صورت سخت افزاری قرار داده است.

انویدیا از زمان کپلر به بعد بخشی را به درایور و پردازنده سپرده که دلایلی تکنیکی دارد. اینطور بگوییم که از لحاظ پشتیبانی از فیچر لول های DX12 میتوان گفت که محصولات AMD کیفیت بهتری به نسبت محصولات انویدیا دارند. البته فیچر لول های DX12.1 که یک مورد آن VXGI موجود در Quantum Break است، هنوز پشتیبانی آن در کارت های انویدیا و AMD تایید نشده است! اما جالب است همین مورد روی کنسول Xbox One به صورت شبیه سازی شده اجرا میشود! شایدم هم شبیه ساز نباشد!

بنابراین شاید بی راهه نباشد بگوییم که دلیل معرفی سریع و زود هنگام نسل بعدی تراشه های گرافیکی انویدیا پاسکال عدم پشتیبانی صحیح کارت های گرافیک فعلی انویدیا از DirectX 12 است. معماری جدیدی که با پشتیبانی کامل از  . معرفی شده و در سه بررسی با اولین نسل از تراشه های گرافیکی پاسکال آشنا شوید، آنالیز اولیه تراشه های گرافیکی نسل بعد انویدیا پاسکال و بررسی ابتدایی معماری ترشه گرافیکی پاسکال به آن پرداختیم. به هر حال سخنگوی استدیو رمدی در مراسم GDC 2016 معتقد است نقش پردازنده مرکزی «CPU» در DirectX 12 بسیار حساس تر از آن چیزی است که در Direct X 11 بود.

Quantum-Break

این تصویر نهایی ساخته شده با تکنیک های و ویژگی های گرافیکی بالا از بازی Quantum Break در Direct X 12 است.

در واقع ویژگی های پردازشی مربوط به پردازنده پردازنده مرکزی «CPU» در DirectX 12 میتواند موجب بهبود شدید بهره وری و افزایش کارایی شود و دیگر همچون Direct X 11 نیازی به سرو کله زدن با انبوهی از معدلات پیچیده نیست. همه چیز دست سازنده است و اوست که تعیین میکند در هر زمان چه مدل پردازشی و به چه روشی اجرا شود تا از تنگنا و سربار اضافی پردازنده کاسته شود.

صحبت پایانی

در نهایت میتوانیم بگوییم که استفاه از DirectX 12 در امر بازی سازی شروع یک راه بسیار پیچیده است. راهی که نیاز به دقت بسیاربالایی برای طراحی و بهینه سازی دارد و استفاده نادرست از این رابط به راحتی میتواند تمامی زحمات سازنده را از بین ببرد، اما استفاده صحیح از آن میتواند افزایش کارایی تا حتی ۳۰ درصد بیشتر از Direct X 11 را در کارت های رده بالا و نسل جدید داشته باشد. با این حال بازی Quantum Break به خوبی توانسته از پتانسیل های موجود در DirectX 12 استفاده کند و به یکی از موفق ترین عناوین تبدیل شود.

راي شما
1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars
Loading...

نوشته شده در پیشنهاد سردبیر,تحلیل فنی

آخرین نقد و بررسی ها
بررسی مانیتور Samsung CFG70 27-Inch gaming

بررسی مانیتور Samsung CFG70 27-Inch gaming

تاريخ بررسي: ۲۶ آبان, ۹۶
بررسی کارت گرافیک ASUS ROG STRIX GTX 1060 OC 6GB

بررسی کارت گرافیک ASUS ROG STRIX GTX 1060 OC 6GB

۱۹ مرداد, ۹۶

9.0

بررسی کارت گرافیک Zotac GeForce GTX 1080 Ti AMP! Extreme

بررسی کارت گرافیک Zotac GeForce GTX 1080 Ti AMP! Extreme

۶ مرداد, ۹۶

9.6

بررسی کارت گرافیک Palit GTX 1080 GameRock Premium

بررسی کارت گرافیک Palit GTX 1080 GameRock Premium

۲۶ تیر, ۹۶

9.8

بررسی کارت گرافیک Sapphire Radeon RX 580 Nitro

بررسی کارت گرافیک Sapphire Radeon RX 580 Nitro

۲۳ اردیبهشت, ۹۶

9.2

روزی سگی، شیری را گفت: با من ستیز کن؛ شیر سر باز زد؛ سگ گفت: نزد تمام سگان خواهم گفت شیر از مقابله با من می هراسد. شیر گفت: سرزنش سگان را خوشتر دارم تا شماتت شیران، که گویند چون شیری باشد که با سگی پنجه در پنجه شده

×
شاخه: بررسی سخت افزار,کارت گرافیک

بررسی کارت گرافیک ASUS GTX 950 2 GB (بدون کانکتور برق)

تــیم گارد3دی

تیم گــارد3دی (Guard3d.com) سعی بر ارائه مطالب متفاوت در زمینه سخت افزار و بازی دارد و امیدوار است در این زمینه بهترین عملکرد را داشته باشد . تیم گـــارد فعالیت خود را به صورت رسمی از تاریخ 2013-10-14 برابر با 1392-07-22 آغاز کرده و تمامی مطالب تولید شده توسط این سایت برای صاحبین آن محفوظ میباشد. کپی مطالب تنها با ذکر نام (Guard3d.com) مجاز است و ما از کپی مطالب بدون ذکر دقیق لینک منبع به صفحه مطلب راضی نیستیم. امیدواریم رضایت شما را جلب کنیم .

شبکه های اجتماعی

کپی رایت 2013 © تمامی حقوق نزد Guard3d محفوظ است | طراحی و کدنویسی توسط hosseincode

error: نمیتوانید کپی کنید!!! فقط لینک صفحه برای آدرس دهی به این مطلب قابل کپی است