DirectX является частью операционной системы Windows. Так почему же каждая игра, устанавливаемая со Steam, Origin или другого источника, требует свою собственную копию DirectX?
Что такое DirectX?
DirectX является частью Windows. Это группа API, которую разработчики могут использовать для трехмерной графики, мультимедиа, звука и функций геймпада для Windows. Многие игры на Windows используют Direct3D DirectX для своей графики. Если не его, то они используют такие кроссплатформенные API, как OpenGL или Vulkan. Другое же, не игровое программное обеспечение, может использовать DirectX, например, для трехмерной графики.
Windows 7 включает в себя DirectX 11, а Windows 10 – DirectX 12. Когда разработчики разрабатывают компьютерные игры, они выбирают версию DirectX, на которую будет опираться их проект. Для примера, игра написанная только под DirectX 11 не будет работать на Windows XP, так как на ней доступен только DirectX 9 версии.
Вы можете проверить версию DirectX на вашей системе с помощью программы «Средство диагностики DirectX». Нажмите на клавиатуре Windows+R, впишите в пустую строку dxdiag и нажмите Enter. Перед вами появиться окошко с информацией о вашей системе. Найдите строчку «Версия DirectX» и увидите там необходимую для вас информацию.
ЧТО ТАКОЕ DirectX | Зачем нужен DirectX и как определить версию DirectX
Если DirectX уже включен в Windows, то почему игры устанавливают его?
Что же, если DirectX уже является частью Windows, то почему игры устанавливают и требуют его? Если кратко, то установка DirectX – это настоящий бардак.
В природе не существует какой-то одной определенной библиотеки DirectX Direct3D, на которую опираются все игры. Игровым разработчикам приходится нацеливаться на определенную версию вспомогательной библиотеки Direct3D. Нельзя просто использовать самые последние библиотеки и надеяться, что игра запуститься. Для примера, если разработчик игры нацелил ее на библиотеку d3ddx10_40.dll, то игра не может использовать библиотеку d3ddx10_41.dll. Ей потребуется 40-я версия и только она.
Вы можете найти эти библиотеки DirectX в своем компьютере по адресу C:WindowsSystem32. На 64-битных системах, 64-битные библиотеки расположены по адресу C:WindowsSystem32, а 32-битные в C:WindowsSysWOW64.
Даже если вы запустите самый свежий установщик DirectX, то нет никакой гарантии, что он установит все ранее выпущенные вспомогательные библиотеки DirectX на вашу систему. Майкрософт также решила, что не станет аккумулировать все эти библиотеки Direct3D в самой Windows. Даже библиотеки Direct3D, созданные до выхода операционной системы Windows 10, не были включены в нее. Их нужно устанавливать с приложениями, которые в них нуждаются. Как Майкрософт заметили в документации, предназначенной для разработчиков игр, «Обновления Windows и Сервисные пакеты не предоставляют никаких опциональных компонентов DirectX».
Однако, все еще сложнее, чем кажется. 32-битные игры требуют библиотеки 32-битной разрядности, а 64-битные, соответственно, 64-битной разрядности. Похожая ситуация сложилась и с библиотеками Microsoft Visual Studio C++. Различные приложения полагаются на различные версии библиотек и вам нужно устанавливать их всех.
Но почему каждая ПК-игра переустанавливает их?
Ок, каждая игра требует установленных для себя вспомогательных версий библиотек DirectX, чтобы даже запуститься. Однако, если у вас уже установлена нужная версия библиотеки DirectX, то вам нет нужды запускать установщик DirectX, верно?
Неверно. Не существует способа, с помощью которого игры бы легко проверяли, установлены ли необходимые библиотеки DirectX в системе или нет. На сайте поддержки Steam указали, что официальный установщик DirectX от Майкрософт – это единственный способ проверить наличие необходимых библиотек DirectX. Игры запускают установщик DirectX, зачастую на заднем фоне, который устанавливает необходимые библиотеки, а также исправляет любые проблемы в системе, связанные с ними.
Установщик DirectX также является единственным способом, которым Майкрософт позволяет разработчикам распространять файлы данного программного обеспечения. Разработчики не могут как-то по хитрому устанавливать на вашу систему библиотеки DirectX, так как это будет считаться нарушением лицензии программного обеспечения Майкрософт. Помимо прочего, на пути бы встала преграда в виде кучи багов. Именно из-за указанных причин никто и не пытается устанавливать DirectX по другому.
Конечно же, не все игры в действительности должны запускать установщик DirectX, когда те впервые запускаются. Играм, которые используют OpenGL или Vulkan, нет нужды использовать библиотеки DirectX. Некоторые игры также полагаются только на главные версии DirectX 9, DirectX 10 и DirectX 11 и им нет нужды запускать установщик DirectX, так как им не требуются вспомогательные библиотеки.
Могу ли я удалить эти библиотеки?
Вы не должны удалять никаких библиотек DirectX из вашей папки System32 или SysWOW64. Если они присутствуют в системе, то это потому, что установленная вами игры или приложение требует для своей работы эти библиотеки. Если вы начнете удалять библиотеки из системы, то программы попросту не будут запускаться или же работать некорректно. Не существует способа точно определить, какая из библиотек DirectX требуется той или иной игре/программе на вашем компьютере. Исходя из этого, вы не сможете понять, какую из них можно спокойно удалять.
Совет: оставьте их в покое! Библиотеки DirectX попросту не могут причинять каких-то проблем для вашей системы. Они будут применяться только теми играми и программами, которые будут нуждаться в них. Если же вы так сильно хотите избавиться от них, от старых библиотек, то проще будет переустановить систему, нежели пытаться в случайном порядке удалять их.
Однако, как только вы начнете устанавливать игры – они снова появятся в системе. Так что даже не заморачивайтесь.
Что делать, если у меня возникли проблемы с DirectX?
Если вы видите ошибку с сообщением, относящимся к DirectX, во время запуска или установки игры, то, возможно, что-то не так с установщиком DirectX, который был приложен с устанавливаемой игрой. Вы не можете просто пойти и скачать установщик DirectX с сайта Майкрософт, так как вам нужно запустить установщик, который требуется самой игре.
Вы можете попробовать пройти в директорию с игрой в вашей системе или на диске с установщиком игры, найти там установщик DirectX, который зачастую называется DXSETUP.exe, и запустить непосредственно его, не устанавливая игру, чтобы решить возникшую проблему.
Также вы можете получить больше информации о том, как решить проблему, выполнив поисковый запрос на имя игры или приложения и сообщения, указанного в ошибке DirectX.
Источник: gamesqa.ru
DirectX 11 против DirectX 12: в чем различия и какой использовать?
![]()
DirectX 12 был выпущен вместе с Windows 10 в 2015 году. С его выходом компания Microsoft открыла новую эру для геймеров и разработчиков игр. Способный снизить нагрузку на CPU и повысить производительность GPU, DirectX 12 быстро завоевал себе имя.
Однако действительно ли повышение производительности так просто, как переход с DirectX 11 на DirectX 12? Давайте выясним это, рассмотрев различия между DirectX 11 и 12.
Что представляет собой DirectX от Microsoft?
![]()
DirectX — это набор API, используемых для обработки задач, связанных с мультимедиа. Сюда входит программирование игр на платформах Microsoft, таких как Windows и Xbox. Чтобы представить некоторый контекст, давайте вкратце поговорим об API.
Интерфейс прикладного программирования (API) позволяет двум или более компьютерным программам общаться друг с другом. Подумайте об этом как о телефоне. Если ваша мама отправит вам сообщение со списком продуктов, ваш телефон получит эти данные и отобразит их для вас. По сути, это и есть API.
Лучшие видеокарты для 1080p в 2023 году
Предлагаем взглянуть на список лучших карт для разрешения Full HD, которые отличаются своей доступностью.
В чем разница между DirectX 11 и DirectX 12?
![]()
Итак, каковы различия между DirectX 11 и DirectX 12? Проще говоря, DirectX 12 — это последняя версия DirectX. Одно из самых заметных различий между этими двумя версиями заключается в том, как они взаимодействуют с вашим оборудованием. Большинство игр, разработанных с использованием DirectX 11, задействуют от двух до четырех ядер процессора. Одно из этих ядер обычно предназначено для того, чтобы сообщать графическому процессору, что делать.
Затем игра использует оставшиеся ядра для обработки различных параметров, требующих большого количества мощностей CPU, например, движения объектов или расстояния прорисовки. С другой стороны, DirectX 12 распределяет нагрузку на CPU между несколькими ядрами, а также позволяет каждому ядру одновременно общаться с GPU.
DirectX 12 также поставляется с некоторыми причудливыми фичами. К ним относятся асинхронные вычисления и объекты состояния конвейера (PSO). Асинхронные вычисления повышают эффективность использования GPU, позволяя нескольким рабочим нагрузкам работать параллельно. Это, по сути, раскрывает весь потенциал вашего GPU.
Помимо рендеринга графики, ваш GPU отвечает за выполнение широкого спектра других задач, например, за выполнение алгоритмов машинного обучения. В DirectX 11 GPU может выполнять только одну из этих задач одновременно и в определенном порядке. Когда это происходит, производительность падает, потому что не все ресурсы GPU используются.
Представьте официанта в ресторане. Когда официант принимает заказ, он сначала спрашивает, что бы вы хотели выпить. После того как вам принесут напитки, он спросит, что бы вы хотели получить в качестве основного блюда. Ваш заказ выполняется поэтапно. Официант не спросит вас, что бы вы хотели на десерт, пока вы не съели основное блюдо.
Хотя это и эффективно, но не так эффективно, как могло бы быть.
При вычислениях каждая из задач официанта будет выполняться отдельным ресурсом GPU. Пока вы не получите свой напиток, ресурсы GPU, необходимые для принятия заказа на основное блюдо, будут простаивать. С асинхронными вычислениями DirectX 12 официант сможет принимать ваш заказ одновременно, как в сети ресторанов быстрого питания. Это позволяет максимально эффективно использовать GPU и повышает производительность в играх.
В DirectX 12 также появились PSO. В DirectX 11, когда геометрия игры передается на GPU для рендеринга, различные аппаратные настройки отвечают за интерпретацию и рендеринг этих данных. Это называется графическим конвейером и представляет собой поток входных и выходных данных, который происходит во время рендеринга кадров на GPU. Однако графический конвейер DirectX 11 не идеален.
Этот конвейер содержит набор различных состояний, включая состояние растеризации, состояние наложения, состояние трафарета глубины и другие компоненты. В DirectX 11 между этими различными состояниями существуют зависимости. В результате одно состояние не может быть завершено, пока не будет определено предыдущее состояние. Это снижает загрузку GPU и увеличивает накладные расходы CPU за счет снижения производительности.
Чтобы обойти эту проблему, в DirectX 12 появились PSO, которые представляют собой объекты, описывающие состояние всего графического конвейера. PSO похожи на бутылку, в которой содержатся различные состояния и компоненты, необходимые для создания изображения. Это позволяет графическому процессору предварительно обрабатывать каждое зависимое состояние вместо того, чтобы постоянно пересчитывать состояния на основе текущего графического конвейера.
Это значительно снижает накладные расходы процессора, присутствующие в DirectX 11, и повышает производительность. Итак, как же на самом деле выглядит это различие? По данным Microsoft, DirectX 12 снижает нагрузку на CPU на 50 процентов и повышает производительность GPU на 20 процентов. Хотя это и значительные улучшения, это не означает, что вы увидите те же результаты.
10 игр с самой реалистичной графикой
Подборка видеоигр, в которых графика достигла максимального уровня реализма.
Почему переход с DirectX 11 на DirectX 12 не так прост
DirectX 11 был впервые выпущен для Windows Vista 27 октября 2009 года. Таким образом, если учесть, что DirectX 12 вышел в 2015 году, то между DirectX 11 и DirectX 12 прошло шесть лет. За это время тысячи игр были разработаны с использованием DirectX 11. К сожалению, перейти с DirectX 11 на DirectX 12 не так-то просто.
![]()
DirectX 11 — это так называемый высокоуровневый API. Проще говоря, с API высокого уровня разработчикам работать проще. В результате получаются стабильные, отшлифованные и играбельные игры. С другой стороны, DirectX 12 — это низкоуровневый API, и по сравнению с DirectX 11 это совсем другой зверь. Хотя он позволяет разработчикам точно настраивать оптимизацию на гранулированном уровне, его использование требует обширных знаний.
Учитывая это, игра, разработанная на DirectX 12, может иметь худшую производительность в зависимости от знаний разработчика об API. Есть улучшения, которые приходят с DirectX 12, но все зависит от того, насколько хорошо программист может их реализовать. По этой причине многие разработчики предпочитают придерживаться высокоуровневых API, таких как DirectX 11.
Что выбрать: DirectX 11 или DirectX 12?
Ответ зависит от нескольких вещей, например, от того, какую игру вы хотите запустить. Например, Guild Wars 2 работает на DirectX 11. Даже если ваша ОС и аппаратное обеспечение используют DirectX 12, у вас не будет возможности выбрать DirectX 12 в Guild Wars 2, потому что игра не поддерживает его. Это полностью решение разработчика, компании ArenaNet.
Хотите верьте, хотите нет, но ArenaNet потребовалось девять лет, чтобы перейти с DirectX 9 на DirectX 11. Однако есть игры, которые поддерживают и DirectX 11, и DirectX 12. Например, Fortnite. В настройках игры пользователи могут переключаться между обеими версиями.
Подведем итог: не все игры поддерживают DirectX 11 и DirectX 12. Для тех, кто поддерживает, переключитесь между ними и определите для себя, какая из них лучше работает на вашем ПК.
![]()
Возможность выбора между DirectX 11 и DirectX 12 также зависит от вашего оборудования. Практически любой современный GPU будет поддерживать DirectX 12, но этого нельзя сказать о более старых GPU, таких как Radeon HD 4870. Этот графический процессор, выпущенный в 2008 году, поддерживает только DirectX 10. Это означает, что на нем невозможно запустить большинство современных игр, которые работают с использованием DirectX 11 и DirectX 12.
Является ли DirectX 12 правильным выбором?
В целом, переход с DirectX 11 на DirectX 12 не так черно-бел, как кажется. Это зависит от множества факторов, таких как аппаратное обеспечение, программное обеспечение, операционная система, а также от того, поддерживает ли игра оба варианта. Все это необходимо учитывать перед принятием решения, и это, скорее всего, будет справедливо и для будущих поколений DirectX.
Источник: coop-land.ru
Что такое DirectX и для чего он нужен

Что такое DirectX и что он делает? – это очень распространенный вопрос особенно среди любителей компьютерных игр. Оно и понятно, человек не играющий в современные компьютерные игрушки вполне может и не услышать название DirectX. Это связано именно с предназначением этого приложения.
DirectX разрабатывался компанией Microsoft специально для того, чтобы превратить платформу Windows в основу для разработки компьютерных игр.
Сказать по правде, описать что такое DirectX достаточно сложно, так как это не просто какая-то программа, а набор библиотек и инструментов, позволяющих воспроизводить реалистичную графику и звуки на компьютере.
DirectX появился именно в помощь разработчикам компьютерных игр и мультимедийных приложений и позволяет создавать программы с очень реалистичной графикой и звуками. Также, поскольку DirectX «заточен» под игры, он имеет инструменты, позволяющие обрабатывать данные, получаемые с устройств управления — с клавиатуры, мыши или игрового джойстика.
Сам DirectX состоит из нескольких модулей, которые отвечают за двумерную (DirectDraw ) и трехмерную (Direct3D) графику, работу со звуком (DirectSound ), с устройствами управления (DirectInput ) и так далее.
Чтобы получить информацию об установленной на компьютере версии пакета DirectX и посмотреть данные о его компонентах, можно вызвать окно Выполнить, нажав сочетание клавиш Win+R и ввести команду dxdiag:

Это окно будет полезно любителям компьютерных игр. Если во время игры возникают какие-то проблемы с графикой или со звуком, то здесь можно протестировать отдельные модули DirectX или получить информацию о текущей установленной на компьютере версии.

Если возникает необходимость установить более свежую версию DirectX, то я рекомендую скачивать установочные файлы только с официального сайта.
Интересные заметки и видеоуроки по этой теме:
- Зачем нужна экранная заставка
- Программа для проверки температуры процессора
- Для чего нужна программа .NET Framework?
- 3D Builder в Windows 10. Что это и как удалить
- Как изменить контекстное меню Windows
Источник: pcsecrets.ru