DirectX چیست و چرا باید آن را روی سیستم خود نصب کنیم؟
همه پیسی گیمرها برای اجرای بازی روی رایانههای شخصی خود اغلب نیاز به نصب برنامههای جانبی دارند. برخی از این برنامهها رابطهایی هستند که سخت افزارها و نرمافزارهای سیستم شما را با هم همانگ میکنند و باعث بهبود عملکرد سخت افزار برای اجرای بازیها میشوند. یکی از نرمافزارهای جانبی مورد نیاز برای پیسی گیمرها DirectX است. در این مقاله از گیماتک به بررسی نرمافزار DirectX میپردازیم و میبینیم که چرا باید از این برنامه روی سیستم خود استفاده کنیم.
DirectX چیست؟
اگر بخاهیم خیلی کوتاه بگوییم DirectX رابط نرم افزاری است که بعد مولتی مدیای ویندوز را به دوش میکشد. اما شاید نتوانیم به همین سادگی به تعریف کاربرد آن بپردایم. دایرکت اکس (DirectX) در واقع مجموعه از رابطهای برنامهنویسی نرم افزار یا API (کوتاه شدهی Application Programming Interface) است که بعد مولتی مدیای ویندوز را عهده دارد. رابط برنامه نویسی در واقع اشاره به زبانی مشترک میان نرم افزارهای مختلف، نرم افزار با سخت افزار و یا هر ابزاری در ارتباط با نرم افزار دارد. در واقع دایرکت اکس به برنامههای گرافیکی ویندوز کمک میکند تا هماهنگی بیشتری با سختافزارهای سیستم داشته باشند. به بیان دیگر رابط برنامه نویسی DirectX به ویندوز اجازه میدهد تا ارتباطی مستمر و بهینه میان پردازندههای گرافیکی، تجهیزات جانبی، سیستم صوتی و… با نرم افزارهای وابسته برقرار کند. در واقع DirectX مسؤل برقراری هرنوع تجربهی مولتی مدیا در پلتفرم ویندوز است. رابطهای برنامه نویسی مثل DirectX به برنامه نویس و توسعه دهندههای نرم افزار و بازی اجازهی دسترسی مستقیم به سخت افزار را میدهند تا تجهیزات سخت افزاری در هماهنگی بیشتری با نرم افزار کار کنند. رابط DirectX اولین بار در سال ۱۹۹۵ معرفی و عرضه شد و در سال ۲۰۱۵ جدیدترین نسخهی آن یعنی DirectX 12 برای توسعه دهندگان ارائه شد.
کاربرد رابط برنامه نویسی DirectX همان طور که گفته شد، مسؤل ارتباط مستقیم با سخت افزار سیستم است تا تجربهای هماهنگتر و عملکردی مناسبتر با نرم افزار در اختیار کاربر قرار دهند. این موضوع در بازیهای رایانهای، تولید ویدئوهای سهبعدی، توسعهی تجربههای صوتی و… به صورت ویژه به کار گرفته میشود تا توسعه دهندههای نرم افزار راحتتر از گذشته این ابزارها را به کار ببرند.
استفاده از این رابطهای برنامه نویسی، پروسهی تولید، توسعه و بهبود نرم افزار را در چند سال اخیر سرعت بخشیدهاند. همچنین استفاده از این رابطها تجربهی مدرنتر از گذشته را در بخش مولتی مدیای ویندوز ممکن کردند. بیشترین نمود کاربردهای این رابط در توسعهی بازیها است؛ از این جهت نصب و استفادهی این ابزار برای پیسی گیمرها ضرورت دارد.
بخشهای مختلف رابط DirectX
رابط برنامه نویسی DirectX متشکل از تعدادی رابط کاربردی است که بخش مولتی مدیای ویندوز را تحت پوشش قرار میدهند. این ماژولها شامل ماژول گرافیکی DirectX Graphics، ماژول DirectX Media، ماژول لوازم جانبی DirectInput، ماژول DirectPlay، ماژول DirectMusic، ماژول DirectX Media Objects، ماژول DirectSetup و تعدادی زیر مجموعه است. این موضوع نشان میدهد که رابط برنامه نویسی DirectX، برخلاف تصور تنها به بعد گرافیکی سیستمها محدود نمیشود. رابط DirectX بخشهایی متعددی چون گرافیک، صدا، لوازم جانبی، پردازنده، ارتباط با وب و… را پوشش میدهد. با این وجود عمده کاربرد این سرویس در خدمت بازیهای ویدئویی است.
جدیدترین نسخهی DirectX کدام است و چه مزیتی دارد؟
سال ۲۰۱۸ بود که شرکت nVidia کارت گرافیکهای RTX خود را روانه بازار کرد. کارت گرافیکهایی قدرتمند با تکنولوژیهای خارقالعادهای مانند Ray Tracing و Mesh Shaders. اما مایکروسافت به دنبال ایجاد استانداردی بود که تنها مختص برند انویدیا و محصولاتش نباشد. نتیجه این تلاش DirectX 12 Ultimate بود. محصولی که در تاریخ می ۲۰۲۰ از طریق آپدیت ویندوز ۱۰ دراختیار کاربران قرار داده شد.
DirectX 12 Ultimate چیست؟
نسخه جدید DirectX تلاش میکند تا تکنولوژیهای جدید بصری را در قالب یک محصول به کاربران کامپیوتر و ایکس باکس هدیه دهد. انتشار نسخه جدیدی از DirectX همیشه خبری خوش برای پیسی گیمرها بوده است. این بار DirectX 12 Ultimate قابلیتهای بینظیری مانند Real-Time Ray Tracing را که فعلا تنها کارت گرافیکهای انویدیا از آن پشتیبانی میکنند برای کاربران به ارمغان آورده است.
این چنین قابلیت باعث میشوند که بازیهای ویدیویی یک پله به واقعیت نزدیکتر شوند. قرار است در آینده کارت گرافیکهای شرکت AMD درکنار Xbox Series X نیز از DirectX 12 Ultimate پشتیبانی کنند. حال بیایید نگاهی به قابلیتهای جدید DirectX 12 Ultimate بیاندازیم.
DirectX Raytracing 1.1
Ray Tracing یک پدیده جدید در بخش گرافیکی بازیهای ویدیویی است. مایکروسافت نسخه خود از این تکنولوژی را DirectX Raytracing یا DXR نامیده است. به لطف این تکنولوژی میتوانیم از این پس در بازیهای ویدیویی یک نورپردازی واقعگرایانه و داینامیک را مشاهده کنیم. برای مثال بازتابهای واقعگرایانه نور از سطح اشیاء یا آب، پرتوهای عبور کرده نور به داخل محیط و عمق رنگی بیشتر. ویدیوهای زیادی درخصوص این تکنولوژی منتشر شده که درصورت علاقه میتوانید تماشایشان کنید.
سایه گذاری متغیر (Variable Rate Shading)
Variable Rate Shading یکی دیگر از قابلیتهایی است که در DX12 حضور داشت. Shaderها به سیستم میگویند هر پیکسل باید چه رنگی، روشنایی و کانتراستی داشته باشد. این یک پردازش بسیار سنگین است و دقیقا اینجاست که Variable Rate Shading پا به میدان میگذارد. Variable Rate Shading مهمترین قسمتهای یک سکانس از بازی ویدیویی را تحت تاثیر قرار میدهد و باعث میشود قسمتهای کم اهمیتتر فشار کمتری به GPU سیستم وارد کنند.
تصور کنید در بازیای مثل Forza Horizon مشغول رانندگی با یک ماشین به سمت پایین جاده هستید. طبیعی است که شما نیاز داشته باشید اتومبیلتان را با تمام جزئیات تماشا کنید. اما درخت، فنس و تیرهای برقی که به سرعت برق از کنارتان میگذرند نیازی به جزئیات بالا ندارند. ممکن است تاثیر Variable Rate Shading چندان به چشم نیاید، اما مسئله اینجاست که در پشت صحنه فشار بسیار کمتری به سیستم شما وارد میشود و فضای بیشتری برای پردازشهای گرافیکی اضافه در اختیارسیستم شما قرار میدهد.
Mesh Shaders
مانند Variable Rate Shading، این بار Mesh Shaders هم تلاش میکند تا سیستم شما بهینهتر کار کند. این قابلیت به بازیسازان اجازه میدهد دنیاهایی پرجزئیات بسازند، بدون اینکه CPU یا پردازنده اصلی سیستم با فشار مضاعف روبهرو شود. درواقع Mesh Shaders قدرت پردازنده را ارزیابی میکند و تشخیص میدهد چه جزئیاتی باید در صحنه حضور داشته باشند. آبجکتهایی که از اهمیت بالایی در صحنه برخوردارند جزئیات بیشتری دارند و از طرفی آبجکتهای کم اهمیت جزئیات کمتری خواهند داشت. درواقع تعداد ساختار مثلثی اجزا یک صحنه (ساختار مثلثی پایه و اساس طراحیهای سه بعدی است) نسبت به اهمیتشان در تصویر متفاوت است. Mesh Shaders به شما کمک میکند فریم ریت بیشتری به دست آورید و فشار کمتری به سیستمتان وارد شود.
Sampler Feedback
Sampler Feedback نیز یکی دیگر از تکنولوژیهایی محسوب میشود که بهینهتر شدن بازیهای ویدیویی کمک میکند. انویدیا درخصوص Sampler Feedback میگوید:
«به وسیله این تکنولوژی میتوانیم سایهزنی آبجکتهایی که در هر فریم از یک صحنه تغییر نمیکنند را بهبود بخشیم. حتی میتوانیم از رنگبندی استفاده شده در فریمهای قبلی استفاده کنیم و مقدار پردازشها را کاهش دهیم».
Sampler Feedback به سیستم این قدرت را میدهد تا بتواند باهوشتر تصمیم بگیرد چه زمانی باید از چه نوع تکسچرهایی استفاده کند. این درحالی است که تمام پردازشها فشار کمتری به GPU شما وارد میکنند و باعث میشوند ظرفیت بیشتری برای مصرف کردن دراختیار داشته باشید.در چنین شرایطی دیگر شاهد مشکلاتی مانند Stuttering یا پارگی تصویر نخواهیم بود.
در انتها باید گفت به صورت کلی رابط برنامه نویسی DirectX و به ویژه نسخهی انتهایی آن قرار است به بهتر شدن جلوههای بصری بازیهای ویدیویی و بهینهتر شدن پردازشهای مولتی مدیای سیستم کمک کند. هرچند همه چیز در اختیار این تکنولوژی نیست و در محله اول مهم است که بازیسازها تا چه اندازه از آن استفاده کنند.
با این حال استفاده از این رابط کاربری مدرن میتوان دری را برای بسیاری از توسعه دهندگان پلتفرم ویندوز و ایکس باکسهای نسل جدید باز کند. به کمک این تکنولوژی میتوانیم تجربهی بهتر هم در توسعه و هم در محصول، از بازیهای ویدئویی داشته باشیم.
تولید محتوا کاری بسیار دشوار و زمانبر است. تیم ما برای جبران هزینهها و جهت پرداخت هزینه دستمزد تولیدکنندگان کانتنت نیاز به حمایت کاربران عزیز دارد. شما میتوانید جهت حمایت مالی از گیماتک از طریق لینک حامی باش ما به حمایت ریالی و یا ارزی سایت و تولیدکنندگان محتوای گیمینگ بپردازید.