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

تبلیغات ۷۲۰ در ۹۰

در بررسی معماری مکسول یا دقیق‌تر بگویم، Maxwell 2 به این مهم اشاره شده که از DirectX 11.3 پشتیبانی می‌کند و در واقع اولین کارت گرافیک‌هایی که از این واسط برنامه‌نویسی و افکت‌های پیشرفته‌ی گرافیکی در بازی‌ها، پشتیبانی می‌کند، GTX 980 و GTX 970 است. پیش از بررسی کامل مکسول مناسب‌تر دیدم که اشاره‌ای به ویژگی‌های خاص دایرکت ایکس 11.3 کرده و مروری بر تاریخچه‌ی دایرکت ایکس‌ها و ویژگی‌های مهم آن داشته باشم.

البته تلفظ آمریکایی و انگلیسی این واژه دیرکت و دایرکت است ولیکن به شخصه تلفظ انگلستانی کلمات را بیشتر دوست دارم!

دایرکت ایکس چیست؟

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

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

در ضمن برای طراحی نرم‌افزارهای مهندسی و گرافیکی از Direct3D که واسط برنامه‌نویسی گرافیک 3 بعدی است، استفاده می‌شود که به دنیای بازی ارتباطی ندارد.

چند API دایرکت ایکس

واسط‌های مختلفی که در این مجموعه گردآوری شده، با نام دایرکت مشخص می‌شوند. مثلاً Direct3D، DirectDraw، DirectMusic، DirectPlay و DirectSound از بخش‌های زیرمجموعه‌ی دایرکت ایکس است. همان‌طور که می‌بینید برای ترسیم یا Draw، محتوای سه‌بعدی یا 3D، موسیقی یا Music و صدا یا Sound از بخش‌های مختلف دایرکت ایکس استفاده می‌شود.

وقتی از واژه‌ی DirectX استفاده می‌کنیم، با استفاده از حرف X به تمام بخش‌ها اشاره کرده‌ایم. حتی جالب است بدانید که کنسول بازی Xbox هم به این علت اکس‌باکس نامیده شده که از دایرکت ایکس برای طراحی بازی‌های آن استفاده می‌شود. دو واسط برنامه‌نویسی مربوط به دسته‌ی اکس‌باکس و صدا هم XInput و XACT نام دارند که به نوعی به دایرکت ایکس اشاره می‌کنند.

اهمیت پشتیبانی کارت گرافیک از نسخه‌های جدید DirectX

کارت گرافیک‌های امروزی با چند مشخصه‌ی اساسی معرفی می‌شود. تعداد هسته‌ها، واحدهای بافت و کنترلر حافظه از عوامل مهم سخت‌افزاری است و در کنار آن پشتیبانی از آخرین واسط‌های برنامه‌نویسی مثل دایرکت ایکس، OpenGL و GPGPU (به نوعی OpenCL) هم بسیار مهم است.

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

در ویندوز 95 ارتباط می‌بایست از طریق سیستم عامل انجام می‌شد که روش بهینه‌ای نیست. در DOS هم برنامه‌نویسی و ساخت بازی مشکل است.

در DOS نرم‌افزار می‌توان از طریق DOS یا مستقیم به سخت‌افزار دسترسی داشته باشد

در DOS نرم‌افزار می‌توان از طریق DOS یا مستقیم به سخت‌افزار دسترسی داشته باشد

ویندوز 95، ارتباط نرم‌افزار ابتدا با سیستم عامل و سپس سخت‌افزار است

ویندوز 95، ارتباط نرم‌افزار ابتدا با سیستم عامل و سپس سخت‌افزار است

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

DirectX پلی میان سخت‌افزار، نرم‌افزار و ویندوز به عنوان سیستم عامل

DirectX پلی میان سخت‌افزار، نرم‌افزار و ویندوز به عنوان سیستم عامل

برای استفاده از آخرین تکنولوژی‌های گرافیکی، هم سخت‌افزار باید از آخرین نسخه‌های دایرکت ایکس پشتیبانی کند و هم می‌بایست بسته‌ی نرم‌افزاری دایرکت ایکس را بروز کرد.

کتابخانه‌های لازم که حین اجرای بازی و نرم‌افزارهای مبتنی بر دایرکت ایکس لازم است، به صورت یک بسته‌ی کمتر از 150 مگابایت برای دانلود آماده شده که بهتر است حتی در جدیدترین ویندوزها هم آن را نصب کنیم:

نصب بسته‌ی کتابخانه‌های دایرکت ایکس در ویندوز

نصب بسته‌ی کتابخانه‌های دایرکت ایکس در ویندوز

پیشرفت دایرکت ایکس در گذر زمان

نمی‌خواهم به روزهای ابتدایی ویندوز بازگردم و ببینم ویژگی نسخه‌های قدیمی آن مثل DirectX 3 چه بوده بلکه فقط به سال‌های اخیر می‌پردازم.

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

در کامپیوترهای امروزی، پردازنده‌ی اصلی هم با پردازنده‌ی گرافیکی ترکیب شده و یک تراشه است. اینتل به آن CPU می‌گوید ولی ای‌ام‌دی نام APU را بر آن نهاده تا از پردازنده‌ی اصلی متمایز شود.

در نسخه‌ی 10 تغییرات بسیار زیادی دیده می‌شود به طوری که برخی بازی‌های جدید مبتنی بر این نسخه با سرعت بسیار بیشتری روی کارت گرافیک‌های پشتیبانی کننده از آن اجرا می‌شوند. نسخه‌ی 10 تنها روی ویندوز ویستا و ویندوزهای بعدی قابل استفاده است هر چند تلاش‌هایی در جهت پورت کردن دایرکت ایکس 10 به ویندوز XP شده ولیکن مهم آن است که مایکروسافت پشتیبانی از نسخه‌های 10 و 11 را به ویندوز ویستا و 7 به بعد محدود کرده است.