Какво е 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(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 реши да съкрати името, но също така е много точно описание на конзолата. Първият Xbox беше съчетан с компютърен хардуер, работещ с намалена версия на Windows и DirectX . Това е вярно и днес с най-новите конзоли Xbox Series X и(Xbox Series X and S consoles) S. 

Едно голямо предимство от това е, че пренасянето на игри между Xbox и Windows PC е много лесно. Тъй като те всъщност са една и съща платформа. PlayStation и Nintendo Switch обаче използват свои собствени API(APIs) , което ни води до следващия важен факт за DirectX .

DirectX не е единствената игра(Game) в града(Town)

Въпреки че DirectX се превърна в един от най-важните и широко разпространени API(APIs) , той далеч не е единственият. Много различни организации признаха, че има нужда от стандартизация. Докато DirectX е API , който обхваща всичко от графика до игрови контролери, има и API(APIs) , които се фокусират само върху един аспект, като графика.

Когато първата 3D графична карта започна да става популярна в средата на 90-те години, необходимостта от графични API(APIs) стана остра. 3dFX Voodoo картите са използвали собствения Glide API . OpenGL ( Open Graphics Library ) е отворен стандарт, който остава популярен днес и съществува в съвременната си форма като Vulkan . Освен това Apple има своя Metal API за своите собствени устройства и има много повече в други категории устройства, като мобилни телефони и таблети.

Докато DirectX няма пълно господство на пазара, други API(APIs) са повлияни от това, което Microsoft реши да наложи във всяка версия на DirectX . Като се има предвид това, те не диктуват на всички останали. Всяка версия на DirectX се създава след консултация с всички заинтересовани страни, така че връзката изглежда е по-взаимна, отколкото може да се предположи.

DirectX не е нещо, за което трябва да се притеснявате

Големият въпрос е до каква степен вие, потребителят, трябва да се тревожите за DirectX . В миналото, с по-ранни версии на DirectX на по-стари системи на Windows , трябваше да инсталирате DirectX ръчно. През повечето време дадена игра ще включва минималната версия на DirectX , от която се нуждае. Ако този инсталатор открие по-нова версия на това поколение DirectX в системата, той просто няма да инсталира нищо.

Всяка версия на DirectX (напр. 9c,11 &12) е свое собствено нещо, но Windows 10 идва с предварително инсталирани копия от тях. По-старите ви игри ще работят добре на вашия лъскав нов компютър с Windows 10 .

Това, което е много по-важно, е вашият избор на хардуер. Винаги можете да актуализирате софтуера или да изтеглите правилния софтуер, за да накарате ретро игрите да работят, но хардуерът, който имате, не може да бъде променен без надстройка или нов компютър.

Хардуерно съответствие с DirectX

Всеки хардуер, който има отношение към видеоигри или всяко друго приложение, използващо подобна технология, обикновено е съвместим с най-новата версия на DirectX към момента на издаването му.

Въпреки това, ако бъде пусната нова версия на DirectX , има вероятност съществуващият ви хардуер да не е съвместим, ако липсва хардуерна функция, която трябва да работи на нова версия на DirectX . Това обаче не е причина незабавно да смените хардуера си! 

Винаги има преходен период, в който игрите поддържат множество версии на DirectX . Например в момента е типично игрите да поддържат както DirectX 11 , така и DirectX 12 . Въпреки това, ако сте на пазара за нов хардуер (особено графични процесори(GPUs) ), тогава е добра идея да закупите нещо, което е съвместимо с най-новата основна версия на DirectX . Тъй като искате новата ви покупка да остане актуална поне няколко години.

Докато сте в това, можете също да проверите дали новият ви хардуер е съвместим с най-новите версии на други основни конкурентни API(APIs) , като Vulcan , също.



About the author

Аз съм компютърен професионалист с над 10 години опит. В свободното си време обичам да помагам на бюрото в офиса и да уча децата как да използват интернет. Моите умения включват много неща, но най-важното е, че знам как да помагам на хората да решават проблеми. Ако имате нужда от някой, който може да ви помогне с нещо спешно или просто искате някои основни съвети, моля, свържете се с мен!



Related posts