DirectX چیست و چرا مهم است؟

DirectX یک API یا رابط برنامه نویسی برنامه(Application Programming Interface) است. این به عنوان واسطه بین کد نرم افزار بازی های ویدیویی و سخت افزار مورد استفاده برای اجرای آنها عمل می کند. بدون DirectX ، انجام بازی های ویدیویی به اندازه امروز بدون دردسر نخواهد بود، اما DirectX چیست و چرا اینقدر مهم است؟

DirectX یک API است، اما آن چیست؟

گفتیم که API نرم افزاری است که به بازی ها اجازه می دهد با سخت افزار ارتباط برقرار کنند، اما این یک ساده سازی بزرگ است. از این گذشته ، درایورهای سخت افزاری که با سیستم عامل صحبت می کنند نیز می توانند به همین ترتیب توصیف شوند.

کاری که یک API انجام می‌دهد استاندارد کردن فهرست دستورات و ویژگی‌هایی است که توسعه‌دهندگان بازی می‌توانند از سخت‌افزار رایانه بخواهند ارائه کنند. این یک لایه نرم افزاری بین بازی و سخت افزار است که دو «زبان» را که بازی و دستگاه سخت افزاری به آن صحبت می کنند ترجمه می کند.

برای دقیق‌تر بودن، API از طرف بازی با درایورهای سخت‌افزار صحبت می‌کند و از آنجایی که درایورهای بازی و سخت‌افزار به‌جای مستقیماً با یکدیگر مطابقت دارند(DirectX) ، به این معنی است که مکالمه یکپارچه است. 

اگر می‌خواهید عمیق‌تر در APIها(APIs) کاوش کنید ، HDG توضیح می‌دهد: API چیست؟ (HDG Explains: What Is An API?)یک مکان عالی برای شروع است.

روزهای بد قبل از DirectX

بنابراین ما ثابت کردیم که DirectX یک API است که بین یک بازی و سخت افزاری که برای اجرا نیاز دارد قرار می گیرد، اما چرا بازی ویدیویی نمی تواند مستقیماً با کارت گرافیک، کارت صدا و غیره صحبت کند؟

این دقیقاً همان چیزی است که قبلاً اتفاق می افتاد. در روزهای MS-DOS و روزهای اولیه ویندوز(Windows) ، بازی های ویدیویی مستقیماً با درایورهای سخت افزار ارتباط برقرار می کردند.

مشکل این رویکرد این است که توسعه‌دهنده بازی مجبور بود برای هر محصول یا خانواده محصولی کد بنویسد. اگر امروز یک بازی کلاسیک MS-DOS را بازی می‌کنید، ورودی‌های کارت صدا برای مارک‌هایی مانند Creative SoundBlaster یا AdLib را مشاهده خواهید کرد.

اینها محبوب ترین برندهای کارت صدا بودند، بنابراین توسعه دهندگان بازی می توانستند اکثر مشتریان را با پشتیبانی از آنها پوشش دهند، اما نه همه آنها. در نهایت، سازندگان سخت افزار کمتر شناخته شده محصولاتی را ایجاد می کنند که با همان درایورهای نام های بزرگ سازگار باشد. به همین(Which) دلیل است که در آن روز تعداد زیادی کارت " Sound Blaster Compatible " دریافت کردیم.

نتیجه این بود که، حتی اگر بیشترین سخت افزار را داشته باشید، هیچ تضمینی وجود نداشت که یک بازی معین با رایانه شما کار کند. DirectX این مشکل را حل کرد.

DirectX کارها را(DirectX Makes Things Easier) برای توسعه دهندگان(Developers) و سازندگان سخت افزار آسان تر می کند(Hardware Makers)

هر نسخه از DirectX (و ما تا DirectX 12 داریم ) مجموعه ای از ویژگی های سخت افزاری و نرم افزاری را که سخت افزار سازگار باید داشته باشد، ارائه می دهد. به عبارت دیگر، اگر می خواهید کارت گرافیک شما برای آخرین نسخه DirectX گواهینامه دریافت کند، باید حداقل مجموعه ای از قابلیت ها را در خود داشته باشد.

سپس توسعه دهندگان بازی های خود را نه به گونه ای می نویسند که با یک کارت گرافیک خاص سازگار باشد، بلکه با خود DirectX سازگار باشد. به عبارت دیگر، هم سازندگان سخت‌افزار و هم توسعه‌دهندگان بازی، محصولات خود را با DirectX استاندارد می‌کنند و به این ترتیب، هر بازی و جزء سخت‌افزاری که برای کار با نسخه خاصی از DirectX طراحی شده باشد، تضمین می‌شود که به خوبی با یکدیگر بازی کنند.

DirectX "X" در Xbox است

همه می‌دانند که دو نام بزرگ در فضای کنسول بازی‌های ویدیویی، پلی‌استیشن(PlayStation) و ایکس‌باکس( Xbox) هستند، اما چیزی که ممکن است ندانید این است که نام اصلی دومی در ابتدا «DirectX Box» بود.

این احتمالاً برای بهترین حالت است که مایکروسافت(Microsoft) تصمیم گرفت نام را کوتاه کند، اما همچنین توصیف بسیار دقیقی از کنسول است. اولین ایکس‌باکس با سخت‌افزار رایانه شخصی همراه شد و نسخه‌ای از ویندوز(Windows) و DirectX را اجرا می‌کرد . این موضوع هنوز در مورد جدیدترین کنسول های Xbox Series X و S(Xbox Series X and S consoles) صادق است . 

یکی از مزایای بزرگ این کار این است که انتقال بازی ها بین ایکس باکس(Xbox) و رایانه شخصی ویندوزی(Windows PC) بسیار ساده است. از آنجا که آنها در واقع همان پلت فرم هستند. پلی استیشن و نینتندو سوییچ از (Nintendo Switch)API های(APIs) خود استفاده می کنند که ما را به واقعیت مهم بعدی در مورد DirectX می رساند .

DirectX تنها بازی(Game) در شهر نیست(Town)

در حالی که DirectX به یکی از مهم‌ترین و گسترده‌ترین APIها(APIs) تبدیل شده است، اما از تنها بودن فاصله زیادی دارد. بسیاری از سازمان های مختلف تشخیص دادند که نیاز به استانداردسازی وجود دارد. در حالی که DirectX یک API است که همه چیز را از گرافیک گرفته تا کنترلرهای بازی را در بر می گیرد، (API)API(APIs) هایی نیز وجود دارند که فقط بر یک جنبه مانند گرافیک تمرکز می کنند.

هنگامی که اولین کارت گرافیک سه بعدی در اواسط دهه 90 محبوب شد، نیاز به APIهای(APIs) گرافیکی شدید شد. کارت های 3dFX Voodoo از (Voodoo)Glide API اختصاصی استفاده می کردند . OpenGL ( کتابخانه گرافیک باز(Open Graphics Library) ) یک استاندارد باز است که امروزه محبوبیت خود را حفظ کرده و به شکل مدرن خود به نام Vulkan وجود دارد . همچنین، اپل API فلزی(Metal API) خود را برای دستگاه های خود دارد و در دسته های دستگاه های دیگر مانند تلفن های همراه و تبلت ها تعداد بیشتری وجود دارد.

در حالی که DirectX تسلط کامل بر بازار ندارد، API های(APIs) دیگر تحت تأثیر آنچه که مایکروسافت(Microsoft) تصمیم گرفته است در هر نسخه از DirectX اجباری(DirectX) کند. همانطور که گفته شد، آنها به دیگران دیکته نمی کنند. هر نسخه از DirectX با مشورت همه ذینفعان ایجاد می شود، بنابراین به نظر می رسد این رابطه بیشتر از چیزی که تصور می شود متقابل است.

DirectX چیزی نیست که باید نگران آن باشید

سوال بزرگ این است که شما، کاربر، تا چه حد باید نگران DirectX باشید . در گذشته، با نسخه های قبلی DirectX در سیستم های (DirectX)ویندوز(Windows) قدیمی ، باید DirectX را به صورت دستی نصب کنید. بیشتر اوقات، یک بازی معین حداقل نسخه DirectX مورد نیاز خود را در بسته بندی قرار می دهد. اگر آن نصب کننده نسخه جدیدتری از نسل DirectX را روی سیستم تشخیص دهد، به سادگی هیچ چیز نصب نمی کند.

هر نسخه DirectX (مثلاً 9c، 11 و 12) ویژگی خاص خود را دارد، اما ویندوز 10(Windows 10) با کپی هایی از آنها از قبل نصب شده است. بازی های قدیمی شما به خوبی بر روی رایانه جدید ویندوز 10(Windows 10) براق شما اجرا می شوند.

آنچه بسیار مهمتر است انتخاب سخت افزار شماست. همیشه می‌توانید نرم‌افزار را به‌روزرسانی کنید یا نرم‌افزار مناسب را دانلود کنید تا بازی‌های یکپارچه‌سازی با سیستم‌عامل کار کنند، اما سخت‌افزاری که دارید بدون ارتقا یا رایانه جدید قابل تغییر نیست.

انطباق سخت افزار با DirectX

هر قطعه سخت افزاری که مربوط به بازی های ویدیویی یا هر برنامه دیگری است که از فناوری مشابه استفاده می کند، به طور کلی با آخرین نسخه DirectX در زمان انتشار سازگار است.

با این حال، اگر نسخه جدیدی از DirectX منتشر شود، اگر یک ویژگی سخت افزاری که نسخه جدید (DirectX)DirectX برای کار کردن نیاز دارد را نداشته باشد، ممکن است سخت افزار موجود شما سازگار نباشد . هر چند این دلیلی برای تعویض فوری سخت افزار شما نیست! 

همیشه یک دوره انتقالی وجود دارد که در آن بازی ها از چندین نسخه DirectX پشتیبانی(DirectX) می کنند. به عنوان مثال، در حال حاضر معمولاً بازی‌ها از DirectX 11 و DirectX 12 پشتیبانی(DirectX 12) می‌کنند. با این حال، اگر در بازار سخت‌افزار جدیدی هستید (مخصوصاً پردازنده‌های گرافیکی(GPUs) )، بهتر است چیزی را خریداری کنید که با جدیدترین نسخه اصلی DirectX سازگار باشد. از آنجایی که دوست دارید خرید جدیدتان حداقل برای چند سال مرتبط باقی بماند.

در حالی که در حال انجام آن هستید، همچنین می توانید بررسی کنید که آیا سخت افزار جدید شما با آخرین نسخه های دیگر API های(APIs) رقیب اصلی مانند Vulcan مطابقت دارد یا خیر .



About the author

من یک متخصص کامپیوتر با بیش از 10 سال تجربه هستم و در کمک به افراد در مدیریت کامپیوترهایشان در دفترشان تخصص دارم. من مقالاتی در مورد موضوعاتی مانند نحوه بهینه سازی اتصال اینترنت خود، نحوه راه اندازی رایانه برای بهترین تجربه بازی و موارد دیگر نوشته ام. اگر در مورد هر چیزی که مربوط به کار یا زندگی شخصی خود است به دنبال کمک هستید، من آن شخص برای شما هستم!



Related posts