Игровой DirectX: для каждой свой?

DirectX — неделимая составляющая Windows. И, наверное, у каждого, кто хоть раз устанавливал более-менее требовательную игру, недоумевал: почему каждая из них всякий раз пытается установить свою версию? Ей мало встроенной? А значит всякий Direct Direct-у рознь? Давайте немного проясним ситуацию.

 Что такое DirectX?

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

В последнее время пользователям Windows приходится иметь дело с версиями 11 и 12 в версиях Windows 7 и Windows 10. И потому разработчики, придумывая игру, стараются указывать версию Direct-а, которая будет базовой платформой для их приложения (то есть должна быть уже установлена на компьютере). Так, если игра требует набора DirectX 11, она не запустится на Windows XP (хотя системные требования будут соответствовать по всем параметрам), чья версия Direct-а — 9. Можете проверить прямо сейчас:

dxdiag

directx 9

directx 12

Тогда зачем игра устанавливает свой DirectX?

Игра, которую вы устанавливаете, не опирается лишь на общий набор файлов в библиотеке Direct3D версии DirectX: здесь как нигде важна конкретика. И даже более современная версия библиотеки не спасёт ситуацию. Так что пропущенное во время установки окно DirectX, казалось бы, старой доброй игры на более новую версию Windows, сразу после запуска повлечёт за собой ошибку отсутствия какого-нибудь d37dgxxx_79.dll. И начинаем искать в сети… Да, если игре нужен файл в составе Direct-a с версией d3dxdx10_40.dll, его более молодой собрат версии d3dxdx10_41.dll уже не прокатит. Но здесь есть один момент, о котором я всегда упоминаю: если вы устанавливаете игру с более «древней» версией DirectX-a и пропускаете установку из-за боязни «откатить» версию до более поздней, вы можете столкнуться с ошибкой. Не волнуйтесь: DirectX 9 не затрёт DirectX 12, цифра «9» означает лишь то, что эта игра запустится и в предыдущих версиях Windows. И не более того.

Где лежат файлы Direct-a?

В 32-х битной версии они все располагаются в папке C:\Windows\System32, если версия 64-х битная, то это две папки: C:\Windows\System32 и C:\Windows\SysWOW64. Часто этого набора не хватает для нормальной работы требовательной игры. А потому Windows нарочито не забивает собственную установку файлами Direct для тех игр, которые, вероятно, никогда и не будут на вашем компьютере устанавливаться — они должны попасть к вам вместе с устанавливаемой программой. «Супер-Direct-a» нет и в сети — и составлять, да и качать всеобъемлющий пакет библиотек человек в здравом уме не будет. И с разработчиками Microsoft давно расставила все точки над «i» в этом вопросе. Абсолютно та же ситуация, кстати, происходит и с библиотеками Visual С++: на вашем компьютере вы можете обнаружить целую кучу версий совсем разных поколений. И все они нужны.

А вот далее ситуация усложняется. Игра, конечно же, не может проверить каждый dll файл на соответствие своим требованиям — для этого существует ЕДИНСТВЕННЫЙ ИНСТРУМЕНТ (и это также закреплено в правовом поле), и он вам знаком. Это встроенное средство проверки Microsoft’s DirectX Installer. Это средство и запускается одновременно с установкой игры, фоном проверяя, а иногда и исправляя некоторые несоответствия. При этом установщик Direct — единственное средство, с помощью которого разработчики могут «распихивать» свои библиотечки по вашим системным папкам. Напрямую, как мы с вами часто это делаем, качая отдельный недостающий файл и засовывая его в папку System32, разрабам делать запрещено. И не получится физически — игра будет вылетать с ошибкой, отправляя с вашего разрешения отчёт о нерадивом разработчике, который может за это вполне лишиться лицензии. И потому многие не сильно богатые разрабы стараются лишний раз не связываться с DirectX-ским Direct3D, предпочитая платформу, например, OpenGL и опираясь на базовые DirectХ-ы, в Windows уже имеющиеся.

библиотека файлов directx


Так что: удаляем ненужное?

Если они, файлы, там есть, значит их что-то использует: игра или система. Удаляя нечто (не знаю зачем), вы должны понимать, что приложение без него не запустится. И какое или какие вы точно не узнаете, пока не столкнётесь. Так что не трогаем ничего и, если ситуация сложилась, как вам кажется, таким образом, что Direct нуждается в обновлении, лучше полностью DirectХ переустановить, обновив набор библиотек целиком (не всегда это приводит к результатам — требуется полная переустановка Windows). И, если после этого уже установленная игра заартачится, доустановите необходимый конкретно для неё пакет DirectX. Он лежит на диске с игрой под именем типа DXSETUP.exe. Если файл не найден, запустите установщик игры повторно — до момента установить необходимую версию Direct-а. В противном случае придётся потратить время на сбор по сети недостающих dll файлов. И не факт, что они окажутся работоспособными или/и не будут заражены.

Успехов вам.

Запись опубликована в рубрике Настройки Windows. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5 × 2 =