آشنایی با DirectX
تمام علاقمندان به بازیهای ویدئویی، بهویژه کسانی که از کامپیوتر بهعنوان وسیله بازی استفاده میکنند، حتما با بحث پیشنیازهای سختافزاری برای اجرای روان بازی آشنا هستند. مولفههای مختلفی چون پردازنده، حافظه اصلی و کارت گرافیک از عوامل اصلی اجرای یک بازی بهشمار میآیند. اما، این بازیها و برخی از نرمافزارها، جدا از پیشنیازهای سختافزاری به برخی پیشنیازهای نرمافزاری هم برای اجرا نیاز دارند. در بیشتر مواقع، اصلیترین عامل نرمافزاری برای اجرای یک بازی، استفاده از آخرین نسخه DirectX است.
دانستنیهای مهم درباره DirectXدایرکتاکس که از محصولات رایگان مایکروسافت است، مجموعهای از رابطهای کاربردی برنامهنویسی (API) است که برای انجام امور مرتبط با صدا و تصویر، بهخصوص برنامهنویسی برای بازیها و فیلمها بهکار میآید. در ابتدای عرضه دایرکتاکس، نام تمام این مجموعه رابطهای کاربری با کلمه Direct شروع میشد: Direct3D,DirectDraw، DirectMusic، DirectPlay، DirectSound و از اینرو نام دایرکتاکس واژهای است که بهجای تمام این رابطها بهکار میرود.
تاریخچه:
درست اواخر سال 94 که مایکروسافت در تلاش بود سیستم عامل بعدی خود (ویندوز 95) را عرضه کند، موثرترین عاملی که باعث میشد مشتریان را به این سیستم عامل بکشاند، نرمافزارهایی بود که میشد روی آن اجرا کرد. سه کارمند مایکروسافت، کریگآیسلر، الکس سنتجان و اریک انگستروم بهاین نتیجه رسیدند که برنامهنویسان، همواره به سیستمعامل قبلی این شرکت (MS-DOS) بهعنوان سیستمی بهتر برای برنامهنویسی نگاه میکنند. در داس همهچیز آزاد بود، دسترسی مستقیم به کارت گرافیک، کیبورد،ماوس و کارت صدا و تمام قطعات سیستم بهسادگی انجام میشد، اما در ویندوز 95 چنین کاری به موفقیت بدل نشد. مایکروسافت به مدلی نیاز داشت که میتوانست بهبرنامهنویسها چیزی که نیاز داشتند را ارائه کند، از سوی دیگر سرعت آن نیز بالا باشد. این سهتن با کمک همدیگر برای حل مشکل اقدام کردند و راهحل، دایرکتاکس نام گرفت.
در سال 2002، مایکروسافت نسخه 9 دایرکتاکس را منتشر کرد و با این انتشار برنامههای زیادی میتوانستند با سایهزن بردار و طرح نسخه 2 کار کنند. توسعه دایرکتاکس از آن زمان تاکنون ادامه دارد، بهطوری که مدل سایهزن نسخه 3 در DirectX c9.0 پشتیبانی شد.
رابط کاربری Direct3D:
این رابط کاربری بهطور گسترده در توسعه بازیهایی که تحت محیط ویندوز مایکروسافت، یا اکسباکس و اکسباکس 360 نوشته میشوند، بهکار میرود. Direct3D همچنین برای پیادهسازی نرمافزارهای مهندسی CAD/CAM بهکار میرود و پراستفادهترین رابط برنامهنویسی در برابر دیگر رابطهای بسته دایرکتاکس است و آنقدر میان برنامهنویسان استفاده میشود که گاهی اوقات وقتی میگویند دایرکتاکس، منظور همان Direct3D است.
کیت توسعه نرمافزار (SDK) دایرکتاکس شامل یک سری کتابخانه بهشکل باینری است که بههمراه مستندات و سرآیندهای کدها عرضه میشود. از قدیم این کتابخانهها بهطور خودکار توسط بازیها یا کاربر نصب میشد. ویندوز 95 دایرکتاکس نداشت. ویندوز 98 و ویندوز NT نسخه 4 هر دو بهطور پیشفرض با دایرکتاکس همراه شدند و از آن زمان آخرین نسخههای ویندوز با آخرین نسخه دایرکتاکس همراه شد. کیتهای توسعه نرمافزار بهرایگان میتوانند دانلود و استفاده شوند، اما رانتایمهای دایرکتاکس همگی تحت تملک مایکروسافت قرار دارد.
آخرین نسخه Direct3D که 10 Direct3D است، فقط برای ویندوز ویستا قابل استفاده است. دلیل اینکه ویندوزهای قبلی از دایرکتاکس 9 بهبعد پشتیبانی نمیکنند، پیادهسازی دایرکتاکس جدید بر مبنای مدل درایور نمایشی ویندوز است که در ویندوز ویستا ایجاد شد. معماری جدید گرافیکی ویندوز ویستا، مدیر جدید حافظهای در خود دارد که مجازیسازی سختافزار گرافیکی را برای محیطها و نرمافزارهای مختلف انجام میدهد.
مولفههای دایرکتاکس :
– رابط DirectDraw برای رسم تصاویر دو بعدی است که دیگر توسعه نمییابد اما هنوز توسط چندتایی بازی و پخشکنندههای تصاویر استفاده میشود.
– رابط Direct3D که تصاویر سهبعدی رسم میکند.
– رابط DXGI برای شمارش دستگاهها و مانیتورها و مدیریت جابهجایی زنجیرها برای Direct3D نسخه 10 و بعد از آن.
– رابط دایرکتاینپوت برای استفاده از دستگاههای ورودیای چون کیبورد، ماوس، دستههای بازی یا دیگر کنترلکنندهها بهکار میرود و بعد از اینکه در نسخه 9 دایرکتاکس، مولفه جدیدی با نام XInput معرفی شد، دیگر توسعه داده نشد. XInput برای کنترلکنندههای اکسباکس بهکار میرود و با استاندارد WM INPUT کار میکند.
– رابط DirectPlay برای برقراری ارتباط در شبکههای محلی یا شبکههای بزرگتر بهکار میرود و پس از نسخه 8، دیگر توسعه داده نشد.
– رابط DirectSound برای پخش و ضبط صداها بهکار میرود. رابط DirectSound3D برای پخش صداهای سهبعدی استفاده میشود.
– رابط DirectMusic برای پخش صداهایی که توسط DirectMusic Producer تولید شدهاند.
– رابط DirectX Media خود شامل چندین مولفه برای کنترل انیمیشنهای تحت وب و فعالیتهای تحت وب و شبکه است.
شیوه کار با دایرکتاکس، مشابه اشیا و رابطهای بهسبک COM است. بدین ترتیب، اشیای مدیریتشده میتوانند روی بخشهای دیگر دایرکتاکس قرار بگیرند.
رابطهایی همچون DirectSound و Direct3Dباید با سختافزار در تعامل باشند، بههمین دلیل این کار را از طریق راهانداز دستگاه انجام میدهند. تولیدکنندگان سختافزار باید این درایورها را طوری بنویسند که با نسخههای مختلف دایرکتاکس کار کند. نسخههای اولیه دایرکتاکس یک بسته جدا دارند که باید برای نصب درایورهای دستگاههای جدید از آنها استفاده کرد. برخی از دستگاهها فقط از درایورهای دایرکتاکس پشتیبانی میکنند، یعنی برای اینکه این دستگاهها راه بیافتند، باید حتما دایرکتاکس نصب داشته باشید.
تا قبل از دایرکتاکس 10، تمامی نسخههای دایرکتاکس از نسخههای قبلی و دستوراتی که برای نسخههای قبلی نوشته شده بود، پشتیبانی میکردند. بدینترتیب نیازی نبود که سختافزارها و راهاندازهای دستگاهها را برای هر نسخه ارتقا داد. مثلا اگر یک بازی برای 9 Direct3D نوشته میشد، روی کارت گرافیکی که برای 6 Direct3D ساخته شده بود نیز کار میکرد، البته احتمالا اجرای آن با مشکل، کندی یا نبود کیفیت همراه میشد.
اما از ویندوز ویستا بهبعد، بهخاطر اینکه سیستم نمایش دستگاههای ویندوز ویستا ارتقا یافته است، دایرکتاکس10 قادر بهاجرای دستگاههای قدیمیتر نیست. البته، دایرکتاکسدر بسیاری از بخشها از دستگاههای قدیمیتر پشتیبانی میکند، اما وقتی اجرای برنامهها بهبخشهایی از دایرکتاکس 10 میرسد که در نسخههای قبلی وجود نداشت، دستگاههای قدیمیتر قادر به اجرا نیستند.
دایرکتاکس یازده:
مایکروسافت بهتازگی مشخصات و ویژگیهای دایرکتاکس یازده را منتشر کردهاست که از ویندوز ویستا بهطور کامل پشتیبانی میکند. بسیاری نگران این موضوعاند که آیا همان حادثهای که برای سختافزارهای پیش از ویستا افتاد، باز هم برای دایرکتاکس 11 میافتد و پشتیبانی از قطعات قدیمیتر انجام نمیشود؟ مایکروسافت اعلام کردهاست که از تمام سختافزارهایی که با دایرکتاکس 10 همخوان هستند، پشتیبانی میکند.
دایرکتاکس 11 مایکروسافت فناوری جدیدی را با خود دارد که به واحد پردازنده گرافیکی (GPU) کمک میکند محاسبات سایهزنی را بهتر انجام دهد و از مزایای کارت گرافیک بهعنوان یک پردازنده موازی بهره گیرد. همچنین سیستم مدیریت منابع آن بهطور کامل چندنخی شده است و استفاده از ماشینهایی که چند هسته پردازنده در خود دارند، سرعت بیشتری را در بازیها بهارمغان میآورد. همچنین این سیستم شیوه جدیدی از موزاییک کاری را پیاده کرده است که مدل کردن اشیا را هنگام نزدیک شدن دوربین بسیار نرم و جذاب میکند.
سوالات و نظرات کاربران در مورد این مطلب (4)
سلام و وقت بخیر. من بازی بتلفیلد3 رو نصب کردم ولی موقع اجرا این ارور را میده:
http://s6.picofile.com/file/8259712618/Capture.jpg
و طبق جست جویی که تو اینترنت داشتم گفته بودن باید برنامه ی directx_Jun2010_redist را نصب کنم و نصب کردم (تو عکس مشخصه) ، ولی نمیدونم چی جور میشه با هاش کار کرد. وقتی کلیک میکنم روش یه صفحه میاد و گزینه ی YES و NO داره وقتی گزینه ی YES میزنم این صفحه میاد و فقط میتونم پوشه انتخاب کنم عکسو ببینید :
http://s6.picofile.com/file/8259713242/02.PNG
فقط خواهش میکنم زودتر پاسخ بدین اگه امکانش هست ، آخه شدیدا عجله دارم
سرزمین دانلود:
برنامه ای که میخواهید نصب کنید دایرکت ایکس است. این برنامه به صورت یک پلاگین در ویندوز نصب میشود و محیطی ندارد که بخواهید با آن کار کنید. در واقع دایرکت ایکس یک برنامه کمکی برای اجرای نرم افزار و بازی های گرافیکی است. که فقط کافیست آن را نصب کنید.
طبق چیزی که در عکس دوم مشخص است YES را بزنید و برنامه را نصب کنید.
ببخشید من Directx11 رو نصب کردم همونه
سرزمین دانلود:
کارت گرافیک خود را هم آپدیت کنید. برای این کار از طریق Device Manager بر روی شکلک مربوط به کارت گرافیک خود کلیک راست کنید و Update Driver را بزنید و صبر کنید تا نسخه جدید درایور آن دانلود و نصب شود.
ببخشید من هر بازی را که بر روی کامپیوترم نصب میکنم ارور های مختلفی میده.
از جمله:
The game is unable to continut because a Direct3D display device could not be creted.
لطفا هر چه زودتر جوابم بدید. خواهش میکنم و سایتتون خیلی خوبه ممنون
سرزمین دانلود:
این خطا یعنی بازی مورد نظر شما به تکنولوژی Direct3D نیاز دارد ولی درایور مربوط به این تکنولوژی بر روی سیستم شما وجود ندارد.
به زبان ساده تر، باید جدیدترین نسخه درایور کارت گرافیک خود را نصب کنید. همچنین آخرین نسخه های دایرکت ایکس را نصب کنید:
سلام. ویندوز من 10 هست. من بازی pes 17 رو نصب کردم. ولی وقتی که کلیک میکنم این نوشته میاد
the program cant start because d3dx9_43.dll missing from your pc.
باید چکار کنم. هرچه سریعتر لطفا
سرزمین دانلود:
آموزش رفع ارور d3dx9_43.dll و d3dx9_39.dll