すべてのPCゲームがDirectXの独自のコピーをインストールするのはなぜですか?

DirectXはWindowsオペレーティングシステムの一部です。では、Steam、Origin、またはその他の場所からインストールするすべてのPCゲームがDirectXの独自のコピーをインストールしているように見えるのはなぜですか?

DirectXとは何ですか?

DirectXはMicrosoftWindowsの一部です。これは、開発者がWindowsの3Dグラフィックス、ビデオ、マルチメディア、サウンド、およびゲームパッド機能に使用できるAPI(アプリケーションプログラミングインターフェイス)のグループです。Windows上の多くのゲームは、グラフィックスにDirectXのDirect3Dを使用しています。そうでない場合は、代わりにクロスプラットフォームのOpenGLまたはVulkanAPIを使用します。他のゲーム以外のアプリケーションは、3Dグラフィックスなどの機能にDirectXを使用する場合があります。

Windows7にはDirectX11が含まれ、Windows10にはDirectX12が含まれます。開発者がゲームを開発するときは、ターゲットにするDirectXバージョンを選択します。たとえば、DirectX 11専用に作成されたゲームは、利用可能な最新バージョンがDirectX9であるWindowsXPでは実行されません。

関連:WindowsでDirectX診断を使用する方法

[スタート]ボタンをクリックし、検索ボックスに「dxdiag」と入力してEnterキーを押すと、システムで使用可能なDirectXのバージョンを確認できます。DirectX診断ツールウィンドウが表示されると、「システム情報」の下の「DirectXバージョン」の右側にバージョン番号が表示されます。

Windowsに含まれている場合、ゲームがインストールするのはなぜですか?

では、DirectXがWindowsの一部である場合、なぜゲームはそもそもそれをインストールするのでしょうか。簡単に言うと、DirectXのインストールは面倒です。

ゲームが依存しているDirectXDirect3Dライブラリは1つだけではなく、ほんの一握りです。ゲーム開発者は、Direct3Dヘルパーライブラリの正確なバージョンをターゲットにする必要があります。ライブラリの最新バージョンは使用できません。たとえば、ゲーム開発者がゲームをd3ddx10_40.dllにターゲティングした場合、ゲームはd3ddx10_41.dllを使用できません。バージョン40が必要で、そのファイルだけで十分です。

これらのファイルは、システムのC:\ Windows \ System32フォルダーにあります。64ビットシステムでは、64ビットライブラリはC:\ Windows \ System32にあり、32ビットライブラリはC:\ Windows \ SysWOW64にあります。

最新のDirectXインストーラーを実行した場合でも、システムにDirectXライブラリの古いマイナーバージョンがすべてインストールされる保証はありません。Microsoftは、これらのDirect3DライブラリファイルをWindows自体にもバンドルしないことも選択しました。たとえば、Windows 10がリリースされる前に作成されたDirect3Dライブラリでさえ、すべてがWindows10に含まれているわけではありません。それらを必要とするアプリケーションによってインストールする必要があります。Microsoftがゲーム開発者向けのドキュメントに記載しているように、「WindowsUpdateおよびServicePackは、DirectXのオプションコンポーネントを提供していません」。

それよりもさらに複雑になります。32ビットゲームには32ビットバージョンのライブラリファイルが必要であり、64ビットゲームには64ビットライブラリが必要です。

関連:PCに「MicrosoftVisual C ++再頒布可能パッケージ」が多数インストールされているのはなぜですか?

これは、Microsoft Visual C ++再頒布可能ライブラリの状況に似ています。さまざまなアプリケーションがライブラリのさまざまなバージョンに依存しており、さまざまなバージョンをインストールする必要があります。システムにそれらがたくさんインストールされている可能性も十分にあります。

しかし、なぜすべてのPCゲームがそれを再インストールしなければならないのですか?

さて、すべてのゲームは、必要なDirectXライブラリの正確なマイナーバージョンをインストールする必要があります。ただし、その特定のバージョンのDirectXライブラリを一度インストールしたことがある場合は、ゲームでDirectXインストーラーを実行する必要はありません。

違う。ゲームが必要な正しいDirectXライブラリがインストールされているかどうかを簡単に確認する方法はありません。Steamのサポートサイトに記載されているように、MicrosoftのDirectXインストーラーは、正しいDirectXファイルが現在インストールされているかどうかを確認するために公式にサポートされている唯一の方法です。ゲームは、多くの場合バックグラウンドでDirectXインストーラーを実行します。これにより、必要なライブラリがインストールされ、システム上の問題が修復されます。

DirectXインストーラーは、Microsoftが開発者にこれらのファイルの配布を許可する唯一の方法でもあります。開発者は、DirectXライブラリをシステムに直接ドロップしてインストーラーをスキップすることで賢くしようと試みることはできません。そうしないと、MICROSOFTのソフトウェアライセンスに違反することになります。また、これを試したとしても、さまざまなバグに遭遇する可能性があります。だから誰もしません。

もちろん、最初に起動したときに、すべてのゲームが実際にDirectXインストーラーを実行する必要があるわけではありません。DirectXのDirect3DではなくOpenGLまたはVulkanを使用するゲームは、それを実行する必要はありません。一部のゲームは、DirectX 11、10、または9などのDirectXのメジャーバージョンのみに依存し、これらのヘルパーライブラリを使用しないため、DirectXインストーラーを呼び出す必要はありません。

これらのライブラリの一部を削除できますか?

System32フォルダーまたはSysWOW64フォルダー内のDirectXライブラリを削除しないでください。それらがシステムに存在する場合は、インストールしたゲームまたは他のアプリケーションがそれらを必要としていたためです。ライブラリファイルの削除を開始すると、アプリケーションが破損する可能性があります。システム上のどのゲームでどのDirectXライブラリファイルが必要かを実際に判断する方法はないため、どれを安全に削除できるかを知る方法はありません。

放っておけ!これらのライブラリファイルをアンインストールするための公式にサポートされている方法がないのには理由があります。それらはシステムに問題を引き起こすことはなく、それらを必要とするアプリケーションによってのみ使用されます。

これらの古いライブラリをクリーンアップする必要がある場合は、ライブラリファイルをランダムに削除するのではなく、Windowsを再インストールして新しいシステムを取得することをお勧めします。ただし、とにかく、ゲームをインストールすると、ここに再び表示されます。心配しないでください。

DirectXに問題がある場合はどうすればよいですか?

ゲームを実行またはインストールしようとしたときにDirectX関連のエラーメッセージが表示された場合は、ゲームのインストーラーが付属のDirectX再配布可能インストーラーを正しく実行していない可能性があります。ただし、MicrosoftのWebサイトからDirectXインストーラーをダウンロードするだけでは不十分です。ゲーム自体に必要なインストーラーを実行する必要があります。

システムまたはゲームのインストールディスクにあるゲームのフォルダーに移動し、DIRectXインストーラーの.exeファイルを見つけて実行し、問題を解決できる場合があります。このファイルは通常、DXSETUP.exeという名前です。

通常、ゲームまたはアプリケーションの名前と表示されている特定のDirectXエラーメッセージをWeb検索することで、問題を解決する方法に関する詳細情報を入手できます。