بسم الله الرحمن الرحیمبا عرض سلام خدمت تمام دوستان و کاربران گرامی اورکلاکینگ هیروز
از آنجا که امروزه رابط Direct X یکی از مهم ترین رابط های بین کارت گرافیک و سیستم عامل است و کمتر کسی یافت می شود که درباره این رابط بسیار مهم و کاربردی اطلاعی نداشته باشد تصمیم بر این شد اطلاعات نسبتا جامعی در قالب یک مقاله مختصر در اختیار شما قرار دهم.امیدوارم مورد استفاده و استقبال شما دوستان خوبم قرار بگیرد.
تاریخچه Direct X
اواخر سال 1994 میلادی در شروع یک جهش بزرگ از سوی مایکروسافت یعنی کوچ از MS Dos به Windows 95 که نگرانی بسیار زیادی برای مایکروسافت ایجاد کرده بود،اما چرا نگرانی؟آیا مشکلی در کار بود؟بله درست حدس زدید سیستم عامل جدید چند ماه بیشتر تا عرضه فرصت نداشت در حالی که مایکروسافت با یک مشکل بسیار بزرگ مواجه بود مشکلی که شاید یک ریسک بزرگ برای مایکروسافت بود.عدم سهولت دسترسی سیستم عامل به سخت افزار منجمله موس، صفحهی کلید، کارت صدا و از همه مهمتر پردازنده گرافیکی یک مشکل بسیار بزرگ برای این شرکت محسوب میشد.سابقا در MS Dos دسترسی به سخت افزار توسط سیستم عامل به راحتی انجام میشد اما به دلیل ساختار Windows 95، بستهبودن و محافظتی ساختهشدن سیستم عامل جدید این مشکل گریبان گیر مایکروسافت شده بود.
اما در میان ناامیدی مایکروسافت، سه تن از کارمندان این شرکت به نامهایCraig Eisler, Alex St John و Eric Engstrom امید تازه و دریچهای به سوی روشنایی برای مایکروسافت گشودند و حاصل تلاش خود را در پایان Direct X نامیدند،این ورژن که Direct X 1.0 نام گرفت در 30 سپتامبر1995 آماده و عرضه شد.پس از این DirectX مرتبا ارتقا و بهبود یافت و نسخه های جدیدتر با امکانات بهتر برای برنامه نویسان و همچنین افزایش سطح کارامدی و ارتباط بهتر با سخت افزار رایانه عرضه شد تا این که در تاریخ 19 سپتامبر 2002 نسخه DirectX 9.0 متولد گردید،به این نسخه توجه ویژه ای شد و تا چندین سال با عرضهی آپدیت برای رفع مشکلات و بهبود کارایی DX9 ورژن های بهبود یافتهی آن یعنی DirectX 9.0c،DirectX 9.0b،DirectX 9.0a به ترتیب در 26 مارس 2003 و 13 اوت 2003 و نهایتا 6 اوت 2004عرضه شدند تا این که DX9 ظاهرا به پایان راه نزدیک شد و همزمان با پا به میدان گذاشتن ویندوز Vista نسخه ی جدیدی از DX به نام DirectX 10.0 در تاریخ 30 نوامبر 2006 عرضه گردید.این نسخه از DX نسبت به نسل پیش خود تغییرات نسبتا زیادی کرد و نسبت به نسخه قبلی خود در نورپردازی اشکال سه بعدی پیشرفت خوبی کرد و نسخه بعدی آن با تاخیر زیاد در 4 فوریه2008 تحت عنوان DirectX 10.1 عرضه شد اما بر خلاف تصور DX10و DX10.1 به نحوی مظلوم واقع شدند و به جز چند مورد محدود که شاید مهمترین آن استفاده در Crysis Warhead بود مورد استفاده قرار نگرفتند.اما فکر می کنید چه دلیلی وجود داشت که یک نسخه ارتقا یافته استفاده نشود و سازندگان بازی ها به استفاده از نسخه قبلی DX اسرار ورزند؟!بله کنسول ها چون از DX 10 و DX10.1 پشتیبانی نمی کردند سازندگان بازی این طور صلاح دانستند که از DX9 استفاده کنند تا زحمت برنامه نویسی و سایر هزینه های دیگر را برای تنها پلتفرم PC محتمل نشوند.
سر انجام در اوایل سال 2010 نسخه ی انقلابی DX همراه با ویندوز انقلابی مایکروسافت یعنی ویندوز 7 عرضه شد.این نسخه از DX که واقعا انقلابی در صنعت گیم ایجاد کرد DirectX 11 نام گرفت.این نسخه از Direct X از سایه زن ورژن 5 پشتیبانی می نماید.لازم به ذکر است با عرضه این API جدید از سوی مایکروسافت، شرکت AMD یا ATi سابق با ساخت سری HD5000 کارت های گرافیکی خود تا مدتی سود خوبی کرد چرا که Nvidia هنوز موفق به ساخت و ریلیز کارتی که توانایی پشتیبانی سخت افزاری از DX11 را داشته باشد نشده بود تا این که پس از یک تاخیر نسبتا طولانی شرکت Nvidia سری 400 خود را با معماری فرمی و با قدرت بیشتر از رقیب برای پشتیبانی از DX11 روانه بازار ساخت.
سپس ورژن های بهبود یافته این نسخه یعنی نسخههای 11.1 و 11.2(ورژن کنونی) عرضه شدند که در ورژن کنونی سعی بر آن شده که میزان فشار کاری اندکی از GPU برداشته شود و به CPU واگذار شود چرا که DX11 بیش از حد به GPU یا پردازنده گرافیکی فشار وارد می کرد.هماکنون به نظر می رسد عرضه ی DirectX 12 نزدیک شده و این ورژن احتمالا انقلابی بزرگ در صنعت گیم و ارتباط بهتر میان پردازنده مرکزی و پردازنده گرافیکی را فراهم خواهد آورد اما تا عرضه ی رسمی سخنی از آن به میان نمی آوریم.
وظیفه و اجزای DirectX
همان طور که اشاره شد وظیفه Direct X فراهم آوردن بستری مناسب جهت تعامل بین سیستم عامل،هچنین تفسیر داده های پیچیده تر و به نوعی ترجمه ی دستورهای صادر شده از جانب سیستم عامل برای گرافیک و پردازنده مرکزی است.برنامه نویسان برای اجرای دستور العمل های خود نیاز به یک رابط دارند که میان نرم افزار و سخت افزار ارتباطی برقرار کند که این وظیفه را DirectX انجام می دهد.
واما اجزای تشکیل دهندهی DirectX ...
Direct Draw:تهیه تصاویر دو بعدی
Direct 3D:تصویر سازی و رندرینگ سه بعدی
Direct Input:کنترل صفحه کلید،موس و یا دسته های بازی و...
Direct GI:شمارش و راه اندازی آداپتور ها و زنجیره های ارتباطی
Direct Play:برقراری ارتباط با یک شبکهی محلی یا یک شبکهی بزرگ
Direct Sound:پردازش و پخش صدا
Direct Sound 3D:پردازش و پخش صداهای سه بعدی
Direct Media:پخش انیمیشن و فیلم ها
Direct 3D retained mode:پردازش داده های گرافیکی 3بعدی
software Development kit or SDK:رابط برنامه نویسی بین سخت افزار و نرم افزار
Direct media object:پشتیبانی از داده های جریانی مانند جلوه ها و رمز گذارها
Direct Setup:بارگذاری اجزای DirectX
در پایان امیدوارم این مقاله مختصر مورد پسند و استفاده شما دوستان عزیزم و سایر کاربران عزیز ایرانی قرار گرفته باشد.
با احترام
رضا باقری