Directx на что влияет
DirectX входит в состав Microsoft Windows. Это группа интерфейсов API (интерфейсов прикладного программирования), которые разработчики могут использовать для 3D-графики, видео, мультимедиа, звука и функций геймпада в Windows. Многие игры в Windows используют Direct3 DirectX для графики. Если они этого не делают, они используют межплатформенные OpenGL или API Vulkan. Другие неигровые приложения могут использовать DirectX для таких функций, как 3D-графика.
Windows 7 включает DirectX 11, а Windows 10 – DirectX 12. Когда разработчики разрабатывают игры, они выбирают версии DirectX, которые хотят использовать. Например, игра, написанная только для DirectX 11, не будет работать в Windows XP, где последней версией является DirectX 9.
Вы можете проверить версию DirectX, доступную в вашей системе, нажав комбинацию клавиш Win + R , набрав «dxdiag» в поле ввода и нажав Enter . Когда появится окно инструмента DirectX Diagnostic Tool, вы увидите, что номер версии отображается справа от «DirectX Version» в разделе «Информация о системе».
Если он включен в Windows, почему игры устанавливают его
Если DirectX является частью Windows, почему игры устанавливают свою версию? Короткий ответ заключается в том, что в версиях DirectX царит беспорядок.
Не существует единой библиотеки DirectX Direct3D, от которой зависели бы все игры, или даже нескольких библиотек. Разработчики игр должны ориентироваться на точную версию вспомогательной библиотеки Direct3D. Более поздняя версия библиотеки не может быть использована. Например, если разработчик игры нацелил свою игру на d3ddx10_40.dll, игра не может использовать d3ddx10_41.dll. Требуется версия 40, и подойдёт только этот файл.
Даже если вы запустили последний установщик DirectX, нет никакой гарантии, что он установит все старые небольшие версии библиотек DirectX в вашей системе. Microsoft также решила не связывать эти файлы библиотеки Direct3D с самой Windows. Даже библиотеки Direct3D, созданные до выпуска Windows 10, например, не все включены в Windows 10. Они должны быть установлены приложением, которое в них нуждается. Как отмечает Microsoft в документации, предназначенной для разработчиков игр, «Windows Update и Service Packs не предоставляют никаких дополнительных компонентов DirectX».
Это также усложняется тем, что 32-разрядные игры нуждаются в 32-битных версиях файлах библиотеки, а для 64-разрядных игр требуется 64-разрядная библиотека.
Это похоже на ситуацию с библиотеками Microsoft Visual C++ Redistributable. Различные приложения зависят от разных версий библиотек, и вам нужно установить много разных версий.
Почему каждая игра должна переустанавливать DirectX
Следовательно, каждая игра должна установить точную младшую версию библиотек DirectX, в которой она нуждается. Но если вы уже установили определенную версию библиотеки DirectX один раз, то, конечно, игре не нужно запускать установщик DirectX – правильно?
Неправильно! Для игр нет возможности легко проверить, установлены ли нужные библиотеки DirectX. Как отмечает сайт поддержки Steam, установщик Microsoft DirectX является единственным официально поддерживаемым способом проверки правильности установленных файлов DirectX. Игры запускают установщик DirectX часто в фоновом режиме, который устанавливает все необходимые библиотеки и устраняет любые проблемы в системе.
Конечно, не все игры должны запускать установщик DirectX при первом запуске. Для игр, которые используют OpenGL или Vulkan, а не Direct3D DirectX, его не нужно запускать. Некоторые игры также зависят только от основных версий DirectX, таких как DirectX 11, 10 или 9, и не нужно вызывать установщик DirectX, потому что они не используют ни одну из вспомогательных библиотек.
Можно ли удалить библиотеки DirectX
Вы не должны удалять любую из библиотек DirectX в папке System32 или SysWOW64. Если они присутствуют в вашей системе, это связано с тем, что игра или другое приложение, которое вы установили, нуждались в них. Если вы начнете удалять файлы библиотеки, приложения перестанут работать. Невозможно реально определить, какие файлы библиотеки DirectX необходимы для игр в вашей системе, поэтому нет способа узнать, какие из них безопасны для удаления.
Оставьте их! Существует причина, по которой не существует официального способа удаления этих файлов библиотеки. Они не будут вызывать никаких проблем в вашей системе и будут использоваться только теми приложениями, которые их требуют.
Если вы действительно отчаянно пытаетесь очистить эти старые библиотеки, вам лучше переустановить Windows, чтобы получить новую систему вместо случайного удаления файлов библиотек. Но они снова начнут появляться после установки игр. Не беспокойтесь об этом!
Что делать, если у меня проблемы с DirectX
Предлагаем в этой статье разобраться, что нужно знать обычному пользователю ПК о приложении DirectX.
Для обычного игрока разработка компьютерных программ может показаться сложным и длительным процессом. И это действительно так. Например, каждая модель консолей (Xbox, PlayStation, Nintendo) содержит в себе один конкретный процессор, видеокарту, встроенную память, слоты ввода и другие аппаратные компоненты. Поэтому для них не требуется дополнительное ПО.
В то же время разработчики компьютерных игр сталкиваются с большим изобилием аппаратных конфигураций. Как следствие, возникает необходимость в приложении, способном заставить весь этот “зоопарк” работать слаженно и без ошибок.
Что такое DirectX в Windows 10
Простыми словами, DirectX это программное обеспечение, взаимодействующее с аппаратными компонентами ПК. Оно участвует в вычислительных процессах, связанных с рендерингом 2D и 3D графики, рендеринге видео и воспроизведении звука на платформе Windows.
Комментарий NVIDIA: Основное внимание DirectX 12 направлено на значительное увеличение качества графики за счет снижения нагрузки на центральный процессор.
Приложение яростно соперничает с OpenGL, другим графически ориентированным софтом, представленным в 1992 году. Он представляется с открытым исходным кодом и находится в непрерывной разработке технологического консорциума Khronos Group. И хотя OpenGL является кросс-платформенным API, он вряд ли когда-либо станет конкурентом для DirectX в Windows.
Преимущества DirectX 12
Вплоть до выхода DirectX 12, недостатком программы было отсутствие низкоуровневого доступа к аппаратным компонентам компьютера. Для решения этой проблемы AMD выпустили свой собственный пакет, под названием Mantle API. Это помогло оптимизировать работу старых версий DirectX с аппаратурой AMD. Тем не менее, данный софт никак не повлиял на владельцев видеокарт NVIDIA.
Исторически сложилось так, что драйверы и программное обеспечение ОС управляли памятью и другими ресурсами ПК отдельно от имени их разработчиков. Однако это было неэффективно. Низкая производительность связана в первую очередь с тем, что данный алгоритм не мог проанализировать потребности активной программы. DirectX 12 в свою очередь помогает приложениям напрямую управлять ресурсами компьютера и выполнять синхронизацией аппаратуры. В результате разработчики игр могут наладить эффективную работу GPU относительно других компонентов.
Дополнительной особенностью DirectX 12 является функция распределения нагрузки между ядрами центрального процессора. Если раньше, в DirectX 11, “отдуваться за всех” могло лишь одно ядро, то теперь задействованы все элементы ЦП.
Частые вопросы о DirectX
Как определить версию DirectX
Часто на DirectX не обращают такого же внимания, как оно уделяется версии драйвера видеокарты или любого другого устройства. Это вполне естественно. И по этой причине многие пользователи не знают какая версия программного обеспечения у них установлена. К счастью, уточнить ее довольно легко.
1. Воспользуйтесь комбинацией клавиш Windows + R и откройте утилиту Выполнить .
Центра́льный проце́ссор (ЦП; также центра́льное проце́ссорное устро́йство — ЦПУ; англ. central processing unit, CPU, дословно — центральное обрабатывающее устройство) — электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (код программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором.
Ядро процессора - это центральный его модуль, где производятся все расчет.
Поток (thread) - это структура внутри процесса, которая содержит исполнительный код и получает процессорное время для его выполнения. Поток, в отличие от процесса, может выполнять какие-то действия. Без потока программа не может выполняться.
Многопото́чность — свойство платформы (например, операционной системы, виртуальной машины и т. д.) или приложения (в нашем случае – ИГРОВОГО ПРИЛОЖЕНИЯ), состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно», то есть без предписанного порядка во времени. При выполнении некоторых задач такое разделение может достичь более эффективного использования ресурсов вычислительной машины.
DirectX (от англ. direct — прямой, непосредственный, произносится как «Директ Икс» — это набор API, разработанных для решения задач, связанных с программированием под Microsoft Windows. Наиболее широко используется при написании компьютерных игр. Пакет средств разработки DirectX под Microsoft Windows бесплатно доступен на сайте Microsoft. Зачастую обновлённые версии DirectX поставляются вместе с игровыми приложениями.
Разобравшись с базовыми понятиями перейдем к самому обзору.
DirectX 9
В данной версии API распространенной во времена Windows XP основной код игрового приложения мог исполнятся только в один поток. Параллельно могли использоваться некоторые функции программы, но количество их было ограничено. Далее – в DX9 поток в системе был строго привязан к ядру процессора – другой вариант работы не допускался. Поэтому по сути для игр в то время самым актуальным был 2х ядерный процессор (можно даже сказать - для игры хватало «полтора-ядерного», еще «пол-ядра» использовалось для функционирования операционной системы (ОС). 3х и более ядерный процессор в то время – был избыточен для игр.
Основной период использования данногоAPI в игровых приложениях 2003-2010г.
DirectX 11
Основным новшеством в данном API (работает на Win 7\8.1) применительно к ЦП было то, что игровые приложения могли использовать несколько заранее заданных потоков для своей работы, причем поток не был физически привязан к определенному ядру процессора. Что дало возможность полностью использовать возможности появившихся у игроков в широких массах 4х ядерных процессоров. Обычно количество потоков в играх на DX11 равно 4м (в некоторых случаях 3 или 2).
Это подтверждают результаты приведенные мной в статье:
Аналогичные результаты были получены тестерами тут:
Связано это с тем что на начало 2010г процессоров с количеством ядер более 4х в настольных игровых системах практически не было (что по статистике Steam верно и по сей день):
Основной период использования данногоAPI в игровых приложениях – примерно 2010-2020г.
DirectX 12
Данный API также серьезно отличается от DX11 как тот от DX9. В новом DX12 программный код изначально не делится на определенное количество потоков – API ОС сам их формирует на основании конфигурации ПК. Простыми словами – если на DX11 изначально заданные потоки могли лишь перебрасываться по ядрам ЦП для ускорения работы игры, то в DX12 API ОС сам создает количество потоков, нужных для работы, которые могут иметь количество равное количеству ядер ЦП, и контролирует их равномерную загрузку. Что это дает – разработчикам по сути становится не важно сколько ядер имеет процессор на игровой станции – 4 , 10 или больше – ВСЯ суммарная мощность может использоваться для работы приложения.
Теперь рассмотрим что тормозит внедрениеDX12 «широкие массы». Факторов тут много.
- Большинство видеокарт (на момент написания текста) находящихся у игроков не дают преимущества в скорости работы в DX12 по сравнению с DX11, и мало того – в DX11 они работают стабильней и быстрей. Это касается ВСЕХ поколений видеокарт Nvidia кроме последнего 10ого и поколений ниже HD 7000 у AMD (там вообще поддержки DX12 ниже 7000й серии нет). То что у АМД поколений карт с нормальной поддержкой DX12 больше прибавляет радости в жизни только тем кто их «юзает» – тк АМД «держит» только 20-25% рынка игровых видеокарт погоды это особо не делает. Ситуация изменится когда 10е и следующее 11е поколение видеокарт «зеленых» начнет доминировать в количестве над старыми решениями – процесс этот идет но когда это случится – точно не известно.
- Так же влияют тенденции «современного игростроя». ВСЕ игры класса ААА по срокам исполнения находятся в диапазоне 3-5 лет (а кто и поболе). Мало того – на рынке на данный момент доминируют серии игр, в которых игроделы постоянно используют старые «допиленные» наработки с предыдущей части игры. А код под DX12 для поддержки всех его преимуществ нужно писать « с нуля». Так же – ТОЛЬКО В КОНЦЕ 2015\НАЧАЛЕ 2016 года игровая индустрия «избавилась» от майнстрима игр у которых все еще была DX9 поддержка. Из этого следуют выводы – на ближайшие год-два массового перехода на DX12 в играх – 100% не ожидается.
- «Приставочный тормоз». К великому сожалению игроков на ПК очень многие игры на данной платформе появляются методом портирования с консолей. Обычно сейчас на ПК портируют игры с Х-BОХ ONE которая работает под управлением API очень схожим с DX11 на ПК. И поэтому пока не выйдет новое поколения приставок с букой Хы от мелкомягких (осень 2017г) которые по неподтвержденный информации работают на API аналогичном DX12, ждать кроссплатформеных игр на ПК с нормальным DX12 вообще не стоит.
- Windows 10. Планы по тотальному захвату рынка этой системой оказались у Мелкомягких полностью провальные. Более 30% игроков (на рабочих станциях процент еще выше) так и не перешли на нее по разным причинам. Поэтому изготовители игр стремясь охватить весь диапазон играющих на ПК до сих пор 100% поддерживают Win7\8.1 х64 (и соответственно DX11) в своих программах. Пара-тройка игр из магазина Мелкомякгих «only DX12» роли не сыграло.
Исходя из вышесказанного – на данный момент для игр еще не менее 1-2х лет самым актуальным будетAPIDX11 – и соответственно процессор к количеством ядер равным четырем.
Многие слышали достаточно модное сейчас слово DirectX, скачивали этот файл, устанавливали и обновляли по запросу той или иной программы. Но вопросом зачем он нужен и какие у него функции, задавался далеко не каждый пользователь. Если программа требует эту утилиту, значит нужно ее поставить, без лишних размышлений.
Что это такое?
Справка. Официальное определение гласит, что DirectX — это набор компонентов, разработанных для решения задач для программирования под Microsoft Windows.Широко применяется при создании компьютерных игр. Обновлённые версии часто включены в пакеты вместе с игровыми приложениями.
Простыми словами-это посредник между играми и видеокартой компьютера, который помогает реализовать всю вычислительную мощность ПК для визуализации графики и отрисовки ее элементов (тени, блики, вода и тому подобное).
Что делает программа, как она работает?
Программа представляет собой набор библиотек. То есть, если их не будет в системных файлах игры, то в первом случае игра запуститься, но никаких графических эффектов и улучшений отображать не будет. Во втором случае игра не откроется вовсе.
При запуске игры появляется ошибка «не найден d3dx9_42.dll», где цифры могут быть разными.
На лицензионной системе Windows минимально необходимый пакет файлов установлен по умолчанию. Различаться он будет по принципу какая операционная система установлена на устройстве.
Из этого следует- чем позже версия, тем более улучшенные и обновленные версии DirectX она поддерживает. Также этот фактор зависит от видеокарты.
Внимание. Карты нового поколения поддерживают недавно вышедшие пакеты DirectX и все те, что были до.Нужна ли?
Но у рядового пользователя может возникнуть вопрос, если есть базовый набор файлов в операционной системе, то зачем устанавливать программу дополнительно? Суть в том, что для каждой игры создается отдельная библиотека эффектов, и в характеристиках вашей видеокарты указано, сколько версий DirectX она поддерживает.
Исходя из этого можно узнать пойдет у вас игра или нет. Невозможно уместить все библиотеки в базовом наборе, поэтому для каждого поколения игр есть свои дополнения directx, которые надо периодически устанавливать.
Какая версия лучше?
Все зависит от того, какую цель преследует пользователь. Для каждой версии операционной системы есть свои варианты DirectX. На Windows 7 не установиться версия файла 12, потому что она используются для более новых систем и игр, чьи требования в разы выше.
Некоторые проекты разработанные так, что могут использовать старые и новые файлы. В меню можно будет выбрать подходящий вам пункт.
Тогда можно сделать вывод, что в большинстве случаев нельзя выбрать, какой список библиотек использовать в своей операционной системе. Разработчики ОС Windows и производители графических ускорителей уже сделали это за пользователей.
Важно. С неофициальных сайтов лучше ничего не качать, сборки там некачественные и кроме ошибок вы ничего не получите.Также не стоит устанавливать DirectX с новейшими дополнениями, если ваша система им не соответствует, та или иная игра все равно не пойдет, потому что видеокарта не распознает установленные компоненты. Для того, чтобы пользоваться возможностями свежего DX необходимо сменить видеокарту и (или) установить новую Windows.
Читайте также: