بسم الله الرحمن الرحیم
Directx چیست
وچکار می کند؟
در ابتدایی ترین سطح Directx بعنوان یک واسطه بین
سخت افزار در کامپیوتر شخصی و خود ویندوز ، بخشی از API ویندوز یا واسطه برنامه
نویسی برنامه های کاربردی Application Programming Interface است .
برنامه های بازی و مالتی مدیا جزء رضایت بخش ترین برنامه های کامپیوتری می باشند ،
ولی متأسفانه اجرای آنها به شیوه ای مناسب همیشه آسان نیست . علت اول اینکه ساختار
کامپیوترهای شخصی هرگز به منظور استفاده بعنوان پایگاهی جهت بازی کردن طراحی
نگردیده است . ثانیاً ماهیت طیف گسترده کامپیوترهای شخصی به معنای آن است که
دستگاه یک نفر می تواند بسیار متفاوت با دستگاه دیگری باشد . لذا در حالیکه دستگاه
های بازی همگی از سخت افزارهای مشابهی استفاده می کنند ، کامپیوترهای شخصی چنین
نیستند : حیطه بسیار وسیع تفاوت های سخت افزاری می تواند دردسر بزرگی برای بازکردن
این برنامه ها محسوب شود . جهت رهایی از این دردسر تا حد امکان ، مایکروسافت
نیازمند معرفی استانداردی عمومی یا بهتر بگوئیم یک واسطه و میانجی عمومی بین سیستم
عامل و هرگونه سخت افزار نصب شده بر روی کامپیوتر بود تا تمام برنامه های بازی و
مالتی مدیا بتوانند از آن پیروی کنند . این واسطه عمومی همان Directx است ، یعنی چیزی که می
تواند مانع سردرگمی های بسیاری شود .
Directx واسطه ای است که وظائف
برنامه ریزی خاصی را بسیار ساده تر می سازد ، چه برای پدید آورنده بازی و چه برای
ما که فقط می خواهیم بنشینیم و آخرین بازی پرفروش را بازی کنیم . لیکن قبل از ینکه
بتوانیم Directx و چگونگی کارکرد آن را توضیح دهیم ، لازم است به تاریخچه آن نگاهی
بیندازیم .
تاریخچه Directx
هر بازی نیاز به اجرای وظائف خاصی بصورت مکرر دارد . بازی نیازمند زیر نظر داشتن و
کنترل داده های ورودی شما از طریق ماوس ، جوی استیک و یا یک بورد بوده و همچنین
نیاز به نمایش تصاویری بر روی صفحه مانیتور و اجرای اصوات و موسیقی دارد . این
تقریباً توصیف هر بازی در ساده ترین سطح آن است .
حال تصور کنید که این امر برای برنامه نویسانی که در ساختارهای کامپیوتر شخصی پیش
از ویندوز اقدام به برنامه نویسی می کردند تا چه حد باور نکردنی و پیچیده بود .
لازم بود هر برنامه نویس روشی مختص به خود جهت خواندن کی بورد و یاحتی ردیابی
اینکه آیا اصلاً جوی استیکی به سیستم متصل است یا خیر بنویسد ، چه برسد به اینکه
بتوان از آن جهت باز کردن استفاده نمود . اعمال تکراری خاصی مورد نیاز بود تا
بتوان حتی ساده ترین نوع تصویر را در صفحه نمایشگر نمایش داد و یا حتی صدایی ساده
را اجرا نمود .
اساساً ، برنامه نویسان بازی ها در سطحی بنیادی با سخت افزار کامپیوتر کار می کنند
. هنگامی که مایکروسافت ویندوز را معرفی نمود ، جهت برقرای ثبات و موفقیت پایگاه
کامپیوتر شخصی ضروری بود تا کارها قدری برای برنامه نویسان و بازیکنان ساده تر شود
.
چه کسی حاضر بود زحمت نوشتن بازی برای ماشینی را بکشد که در آن هر بار که قصد کار
بر روی بازی جدیدی را داشت ، می بایست همه چیز را از نو بنویسد ؟
ایده مایکروسافت ساده بود : کار کردن مستقیم برنامه نویسان با سخت افزار را متوقف
کرده و بجای آن یک toolkit عمومی بسازد که بتوانند آن را مورد استفاده قرار دهند . پس Directx متولد شد .
چطور کار می کند ؟
در ابتدایی ترین سطح Directx بعنوان یک واسطه بین سخت افزار در کامپیوتر شخصی و خود ویندوز ،
بخشی از API ویندوز یا واسطه برنامه نویسی برنامه های کاربردی Application
Programming Interface است .
برای مثال هنگامی که نویسنده یک برنامه بازی می خواهد یک فایل صوتی اجرا شود ،
صرفاً فراخوانی (call) به تابع کتابخانه (library function) صحیح می باشد . هنگامی که بازی اجرا می شود ، عملکرد مزبور Directx
API را
فرا می خواند که به نوبه خود فایل صوتی را به اجرا در می آورد . برنامه نویس به
دانستن نوع کارت صدایی که با آن سروکار دارد ، توانائی های کارت مزبور و چگونگی
مکالمه با آن نیاز ندارد . ماکروسافت Directx را فراهم آورده است و
سازنده کارت صدا نیز درایوی که توان اجرای Directx را داشته باشد فراهم
کرده است . برنامه نویس تقاضای صدایی که باید اجرا شود را می نماید و صوت مزبور
اجرا می شود بدون توجه به دستگاهی که صدا بر روی آن باید اجرا شود .
از دیدگاه ما بعنوان بازیکنان نیز Directx اوضاع را بطرز غیر قابل
باوری تسهیل می نماید ، حداقل بصوت تئوری . شما کارت صدای جدیدی را جایگزین کارت
قدیمی تان می کنید و کارت جدید به همراه درایو می آید . دفعه بعد که بازی مورد
علاقه خود را بازی کردید ، هنوز می توانید صداها و موسیقی آن را شنیده و ناچار به
انجام هیچگونه تغییرات پیکربندی پیچیده ای نمی باشید .
در ابتدا ، Directx زندگی خود را بعنوان یک Toolkit ساده آغاز نمود : سخت
افزارهای اولیه محدود بوده و صرفاًَ گرافیکی بسیار ابتدایی مورد نیاز بود . با
تکامل نرم افزارها و سخت افزارها از نظر پیچیدگی ، Directx نیز تکامل یافت .
اکنون Directx بسیار بیشتر از یک Toolkit گرافیکی بوده و اصطلاح
مزبور ، در بر گیرنده گزیده گسترده ای از روتین ها می باشد . برای مثال روتین DirectInput می تواند با همه گونه
ابزار ورودی از ماوس دو دکمه ای گرفته تا جوی استیک های پیچیده مخصوص عملیات پرواز
سروکار داشته باشد و سایر بخش ها شامل DirectSound برای ابزارهای صوتی است
و DirectPlay که یک Toolkit برای بازی های چند بازیکنی Online فراهم آورده است .
نسخه های Directx
نسخه فعلی Directx در زمان نوشتن این مقاله Directx ۹.۰c است . این واسطه بر روی
کلیه نسخ ویندوز از ویندوز ۹۸ گرفته تا ویندوز سرور ۲۰۰۳ به همراه کلیه نسخ فی
مابین آن ها اجرا می گردد . لیکن این Toolkit بر روی ویندوز ۹۵ اجرا
نمی شود : اگر دستگاهی دارید که روی آن ویندوز ۹۵ نصب شده است ، ناچارید به
استفاده از نسخه قدیمی تر و کم توان تر ۸.۰a می باشید . ویندوز NT۴ نیز نیازمند نسخه خاص
خودش است که در این مورد خاص Directx ۳.۰a است .
با این همه نسخ متفاوت Directx که طی سنوات متمادی در دسترس قرار گرفته است ، ردیابی نسخه هایی
که به آن ها نیاز دارید مشکل و مشکل ترمی شود . در تمام موارد به جز موارد بسیار
نادر ، کلیه نسخ Directx قابلیت سازگاری با نسخ قدیمی تر را نیز دارند . یعنی بازی هایی که
می گویند نیازمند Directx ۷ هستند ، به راحتی با نسخه های جدید تر نیز اجرا خواهند گردید ،
ولی با نسخ قدیمی تر خیر . بسیاری از عناوین جدید بازی ها بطور دقیق اعلام می
نمایند که نیازمند Directx ۹ بوده و بدون نصب دقیقاً آخرین نسخه آن ، اجرا نخواهد گردید .
این امر بخاطر آن است که بازی های مزبور از ویژگی های جدیدی که با این نسخه معرفی
گردیده است ، استفاده می نمایند . البته دیده شده که برنامه نویسان تنبل نیز گاهی
آخرین نسخه Directx را بعنوان نسخه مورد نیاز بازی خود معرفی می کنند ، در حالیکه
بازی مورد بحث از هیچ کدام از موارد تقویت یافته جدید استفاده نمی کند . لیکن بطور
کلی ، اگر عنوان یک بازی به نسخه ای از Directx به اینصورت پیوند خورده
باشد ، قبل از اینکه بتوانید بازی کنید ، لازم است Directx خود را ارتقاء دهید .
اصلاحات انجام گرفته در ریشه کد Directx بدین معناست که ممکن
است حتی در بعضی از بازی ها بهبودهایی را پس از ارتقاء به آخرین نسخه ساخته شده از
Directx ، مشاهده نمایید . دان
لود و نصب Directx نیز نباید چندان پیچیده باشد .
ارتقاء Directx
کلیه نسخ قابل دسترس ویندوز به هرماه شکلی از Directx بعنوان جزئی از هسته (core) سیستم ، که قابل حذف
نمی باشد می آیند .
لیکن بسیاری از بازی های جدید نیازمند آخرین نسخه Directx جهت اجرای کامل و یا
اصولاً هر گونه اجرایی می باشند .
عموماً بهترین محل جهت نصب آخرین نسخه Directx ، بخش اختصاص یافته به
آن در سایت اینترنتی مایکروسافت می باشد که در آدرس www.microsoft.com/windows/directx یافت می شود . در هنگام
چاپ این مقاله ، آخرین نسخه در دسترس برای دان لود عمومی نسخه Directx.۹.۰c بود . می توانید یک installer ساده را دان لود کنید
که هنگام نصب به نوبه خود آن اجرایی که سیستم جهت ارتقاء نیاز دارد را دان لود می
نماید و یا بسته نرم افزاری توزیع شده را بطور کامل جهت نصب Offline بعدی دان لود نمائید .
منبع خوب دیگر برای Directx خود بازی ها هستند . اگر بازی به نسخه خاصی از Directx نیاز داشته باشد ، نسخه
مزبور روی CD نصب بازی خواهد بود و ممکن است حتی بطور خودکار توسط Installer بازی روی سیستم نصب
گردد .
تشخیص علت مشکلات
تشخیص علت مشکلات نصب Directx می تواند مشکل ساز باشد ، بخصوص اگر ندانید کدامیک از اجزاء آن
سبب از کار افتاده بازی جدیدی شده است که به تازگی خریداری نموده اید .
خوشبختانه ، مایکروسافت یوتیلیتی مفید بنام Directx
Diagnostic Tool را فراهم کرده ، هر چند
که آن را مشخص نساخته است . این ابزار را در هیچ نسخه ای از ویندوز در منوی Start نمی توانید بیابید ، و
هر نسخه ویندوز نیز ابزار مزبور را در جایی متفاوت با سایر ویندوزها نصب کرده است
.
راحت ترین راه استفاده از این ابزار چنین است که کادر محاوره RUN را در منوی Start باز و در آن dxdiag را تایپ و سپس روی OK کلیک کنید . هنگامی که
این برنامه برای اولین بار بارگذاری می شود ، چند ثانیه ای طول می کشد تا نسخه نصب
شده Directx را بررسی کرده و مشکل را بیابد .
ابتدا برگه Directx File اطلاعاتی راجع به هر یک از فایل هایی که نسخه نصب شده مورد
استفاده قرار می دهد را نشان می دهد .
بخش Notes در ذیل برگه مزبور نیز ارزش بررسی را دارد ، زیرا فایل های مفقودی
یا معیوب در اینجا علامتگذاری می گردند .
برگه هایی که علامت های Display ، Music ، Input و Network را دارند ، همگی با مناطق خاص همنام خود در Directx مرتبط می باشند و بجز
برگه Input ابزارهایی را جهت آزمایش عملکرد صحیح برروی سخت افزار دستگاه در
اختیارتان می گذارند . نهایتاً برگه Move Help روشی مفید جهت شروع Directx
Troubleshooter را
فراهم می آورد که ابزار حل مشکل خط ساده مایکرو سافت برای بسیاری از موارد معمول و
عمومی Directx می باشد .
۰۱ آبان ۸۸ ، ۱۵:۱۸