تبلیغات
روستا و اهالی - Directx

روستا و اهالی

چهارشنبه 29 فروردین 1386

Directx

نویسنده: کدخدا   طبقه بندی: مقاله، 

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

 

منبع : http://www.karapardaz.ir

نظرات() 
صبا
جمعه 31 فروردین 1386 12:04 ب.ظ
هوالحق

سلام


به روز هستین؟ آفرین

موفق باشید

یا حق
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر

نویسندگان

آمار وبلاگ

  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :