DirectX چیست؟

نویسنده: saeid.agharazi
بازدید: 1114 نفر
به روز رسانی:

DirectX چیست؟

DirectX دسترسی به قابلیتهای دستگاه هایی مانند مانیتور و کارت صدا را برای نرم افزار ها فراهم می کند تا از قابلیتهای سه بعدی تصویر و صدای فراگیر و جلوه های صوتی آنها استفاده شود. Direct X نرم افزار ها را قادر می سازد تا از قابلیتهای سخت افزار کامپیوتر شما اطلاع پیدا کرده و پارامترهای لازم را با آنها مطابقت دهد. این خاصیت به برنامه های صوتی و تصویری این قدرت را می دهد تا روی هر کامپیوتری که ویندوز نصب شده و سخت افزار آن سازگار با DirectX باشد فایل های صوتی و تصویری را با بیشترین کارایی و کیفیت ممکن به اجرا بگذارد. Direct X یک سری از برنامه های سطح پایین است که Application Programming Interfaces یا (APIs) را در خود دارد و دسترسی به ویژگیهای با کارایی بالای سخت افزار مانند چیپ های شتاب دهنده گرافیکی سه بعدی و کارتهای صدا را امکان پذیر می سازد. این APIs ها شامل شتاب دهنده های گرافیک دو بعدی و فابلیت پشتیبانی از وسایل ورودی مانند موس، جوی استیک و کی بورد و کنترل میکس صدا و صدای خروجی هم هست. توابع سطح پایین بوسیله این مولفه ها پشتیبانی می شوند که Direct X را می سازند:

Microsoft Direct 3D 
Microsoft Direct Sound 
Microsoft Direct Music 
Microsoft Direct Input 
Microsoft Direct Play 
Microsoft Direct Show

در ابتدایی ترین سطح Directx بعنوان یک واسطه بین سخت افزار در کامپیوتر شخصی و خود ویندوز بخشی از API ویندوز یا واسطه برنامه نویسی برنامه های کاربردی Application Programming Interface است . برنامه های بازی و مالتی مدیا جزء رضایت بخش ترین برنامه های کامپیوتری می باشند ، ولی متأسفانه اجرای آنها به شیوه ای مناسب همیشه آسان نیست . علت اول اینکه ساختار کامپیوترهای شخصی هرگز به منظور استفاده بعنوان پایگاهی جهت بازی کردن طراحی نگردیده است . ثانیاً ماهیت طیف گسترده کامپیوترهای شخصی به معنای آن است که دستگاه یک نفر می تواند بسیار متفاوت با دستگاه دیگری باشد . لذا در حالیکه دستگاه های بازی همگی از سخت افزارهای مشابهی استفاده می کنند ، کامپیوترهای شخصی چنین نیستند : حیطه بسیار وسیع تفاوت های سخت افزاری می تواند دردسر بزرگی برای بازکردن این برنامه ها محسوب شود . جهت رهایی از این دردسر تا حد امکان ، مایکروسافت نیازمند معرفی استانداردی عمومی یا بهتر بگوئیم یک واسطه و میانجی عمومی بین سیستم عامل و هرگونه سخت افزار نصب شده بر روی کامپیوتر بود تا تمام برنامه های بازی و مالتی مدیا بتوانند از آن پیروی کنند . این واسطه عمومی همان Directx است ، یعنی چیزی که می تواند مانع سردرگمی های بسیاری شود . Directx واسطه ای است که وظائف برنامه ریزی خاصی را بسیار ساده تر می سازد ، چه برای پدید آورنده بازی و چه برای ما که فقط می خواهیم بنشینیم و آخرین بازی پرفروش را بازی کنیم . لیکن قبل از ینکه بتوانیم Directx و چگونگی کارکرد آن را توضیح دهیم ، لازم است به تاریخچه آن نگاهی بیندازیم.

 

تاریخچه Directx

هر بازی نیاز به اجرای وظائف خاصی بصورت مکرر دارد . بازی نیازمند زیر نظر داشتن و کنترل داده های ورودی شما از طریق ماوس ، جوی استیک و یا یک بورد بوده و همچنین نیاز به نمایش تصاویری بر روی صفحه مانیتور و اجرای اصوات و موسیقی دارد . این تقریباً توصیف هر بازی در ساده ترین سطح آن است. حال تصور کنید که این امر برای برنامه نویسانی که در ساختارهای کامپیوتر شخصی پیش از ویندوز اقدام به برنامه نویسی می کردند تا چه حد باور نکردنی و پیچیده بود.

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

 

نحوه کار 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 می باشد.

تاپ جی اس ام


نظرتان را به اشتراک بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *