- 技術 💻
DirectXとは|バージョン確認(dxdiag)と最新版の入れ方・11と12の違い
結論
DirectX(ダイレクトエックス)とは、Windows のゲームやマルチメディアのアプリが、GPU・サウンド・コントローラーなどを共通の方法で使うための、Microsoft の API(プログラムの呼び出し口)の集まりです。バージョンは「dxdiag」で確認でき、Windows 10・11 では Windows Update で更新されます。
この記事でわかること
- DirectX の意味・含まれるもの・dxdiag でのバージョン確認の手順
- 「最新版をインストール」の実際と、d3dx9 の DLL エラーの公式の対処
- DirectX 12 と 11 の違い、機能レベル、12 Ultimate、ドライバーとの関係
ゲームやアプリは、GPU を直接さわるのではなく、DirectX を通して命令を出します。DirectX はその命令をグラフィックドライバーに渡し、ドライバーが GPU を動かします。この記事で実際に動かしたものは、機能レベルの値の読み解き・テクスチャの大きさ・バージョンの比べ方の3つの Python の計算です(Windows の画面は操作していません)。
flowchart TD
G[ゲーム・アプリ] --> D[DirectX<br>Direct3D など]
D --> R[グラフィックドライバー]
R --> H[GPU・サウンドなど<br>ハードウェア]
W[Windows Update] -.更新.-> D
M[GPU メーカー] -.更新.-> R
よく調べられることの答えを先にまとめます。
| 知りたいこと | 答え | 詳しい節 |
|---|---|---|
| DirectX とは | Windows でゲームなどがハードウェアを使うための API の集まり | DirectXとは |
| DirectX のバージョン確認 | 検索ボックスに dxdiag と入力し、「システム」タブの DirectX バージョンを見る | バージョン確認方法 |
| DirectX の最新版のインストール | Windows 8 以降は Windows Update で届く。単体のパッケージは無い | 最新版をインストールする方法 |
| DirectX エンドユーザー ランタイムとは | 以前の DirectX SDK の部品(D3DX9 など)を入れるもの。DirectX のバージョンは変わらない | エンドユーザー ランタイム |
| d3dx9_43.dll が見つからない | 公式の対処は DirectX エンドユーザー ランタイムを入れること | d3dx9 のエラーの対処 |
| DirectX 12 と 11 の違い | 12 はハードウェアに近い低い層の API。11 も並行して使われている | DirectX 12と11の違い |
| 機能レベルとは | GPU が持つ機能のまとまり。API のバージョンとは別のもの | 機能レベルとは |
| DirectX 12 Ultimate とは | レイトレーシングなど4つの機能をそろえた、PC と Xbox 共通のまとまり | DirectX 12 Ultimateとは |
確認環境:この記事は Windows の実機を操作していません。Windows の画面の手順・バージョンの表・エラーの対処は、Microsoft サポートの「PC にインストールされている DirectX バージョンの確認」「最新版の DirectX をインストールする方法」「Windows のデバイス マネージャーを使用してドライバーを更新する」、Microsoft ダウンロード センターの「DirectX エンドユーザー ランタイム」、Microsoft Learn(DirectX graphics and gaming・Direct3D feature levels・What is Direct3D 12?・D3D_FEATURE_LEVEL・XAudio2 versions・Where is the DirectX SDK?)、DirectX 開発者ブログ(DirectX 12 Ultimate・Agility SDK・Feature Level 12_2)、Windows 11 の仕様ページを読んで書いています。公式のページで確かめられなかった画面(DirectX 診断ツールの「システム」タブ以外の項目など)は書いていません。OpenGL・Vulkan は Khronos Group、Metal は Apple の公式ページの説明です。計算は Ubuntu 24.04 の Python 3.13.18 で実行しました。図は mermaid で描画を確かめています(確認日 2026年11月11日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「DirectXとは|バージョン確認(dxdiag)と最新版の入れ方・11と12の違い」
DirectXとは(意味と役割)
この節では、DirectX が何のためにあり、「DirectX のバージョン」という言葉が場面ごとに何を指すのかが分かります。
DirectX は、Windows の上でゲームや高い性能が要るマルチメディアのアプリを作るための API の集まりです。 Microsoft Learn は DirectX のグラフィックスを「ゲームやその他の高性能なマルチメディア アプリのための API を提供し、高性能な 2D・3D グラフィックスを含む」と説明しています。API は、アプリが OS やハードウェアの機能を呼び出すための決まった窓口のことです。
GPU やサウンドの機器は、メーカーや製品ごとに中身が違います。アプリが製品ごとに別々の命令を書くのは大変なので、アプリは DirectX という共通の窓口に命令を出し、製品ごとの違いはドライバーが受け持ちます。こうすると、ゲームを作る側は「DirectX に対応した GPU」をまとめて相手にできます。
通訳にたとえると
DirectX は「共通語」、ドライバーは「製品ごとの通訳」と覚えると整理しやすい
「DirectX のバージョン」が指すもの(場面別)
「DirectX 12」という言葉は、場面によって指すものが違います。ここを分けておくと、あとの節の話が混ざりません。
| 場面 | 指しているもの | 確かめる場所 |
|---|---|---|
| dxdiag に出る「DirectX バージョン」 | Windows に入っている DirectX の版 | DirectX 診断ツールの「システム」タブ |
| ゲームの動作条件の「DirectX 12」 | そのゲームが呼び出す API の版(と、それに対応した GPU) | ゲームの公式ページの動作条件 |
| GPU の仕様の「DirectX 12 対応」 | GPU とドライバーが持つ機能(機能レベル) | GPU メーカーの製品ページ |
| 開発者が言う「Direct3D 12」 | DirectX の中の 3D グラフィックスの API | Microsoft Learn のリファレンス |
つまり、Windows 側の版・ゲームが使う API の版・GPU の機能の3つがそろって、はじめてそのゲームの描画が動きます。 dxdiag の表示が「DirectX 12」でも、GPU が以前の世代なら DirectX 12 専用のゲームは動かない、ということが起こるのはこのためです。
DirectXに含まれるもの(Direct3D・Direct2D・DirectWrite・XAudio2)
この節では、DirectX という名前の下にどんな API が入っているのかが分かります。
DirectX は1つのソフトではなく、役割の違う API をまとめた呼び名です。 いちばん知られているのは 3D グラフィックスの Direct3D ですが、2D・文字・音・入力・ストレージ・機械学習の API も含まれます。Microsoft Learn の「DirectX graphics and gaming」の一覧から主なものを並べます。
Direct3D
ゲームや科学技術向けアプリの 3D グラフィックスを作る。DirectX の中心。
3D の描画
Direct2D
GPU を使って図形・画像・文字を高速に描く 2D の API。
2D の描画
DirectWrite
高品質な文字の描画。アウトライン フォントと Unicode の文字組みに対応。
文字
XAudio2
ゲーム向けの音の信号処理とミキシングの土台。DirectSound の後継。
音
| 名前 | 役割(Microsoft Learn の説明の要約) | 補足 |
|---|---|---|
| Direct3D | 3D グラフィックス | 9・10・11・12 の世代がある |
| Direct2D | 2D の図形・画像・文字の描画 | ハードウェアで高速化 |
| DirectWrite | 文字の描画と文字組み | 解像度に依存しないフォント |
| XAudio2 | 音の処理とミキシング | DirectSound を置き換える |
| XInput | コントローラーの入力・振動 | DirectInput を置き換える。新しいアプリには GameInput が案内されている |
| DirectStorage | NVMe SSD などから小さな読み込みを少ない CPU 負荷で大量に行う | ゲームの読み込み向け |
| DirectML | 機械学習の推論を組み込むための低い層の API | DirectX 12 対応のハードウェアで動く |
| DirectXMath | ベクトル・行列の計算 | 3D の座標計算に使う |
| DXGI・DXCore | GPU(アダプター)の列挙など | 描画の土台になる部分 |
同じ一覧には「Classic DirectX Graphics」という項目もあり、以前の技術は新しいアプリには勧めない、と書かれています。DirectSound や DirectInput のように、役割を新しい API に引き継いだものもあります。名前が多くて覚えにくいですが、ふだん「DirectX のバージョン」と言うときは、ほぼ Direct3D の世代の話だと考えて差し支えありません。
DirectXのバージョン確認方法(dxdiagの手順)
この節では、自分の PC に入っている DirectX のバージョンを、DirectX 診断ツール(dxdiag)で確認する手順が分かります。
DirectX のバージョンは、Windows に最初から入っている「DirectX 診断ツール」で確認します。 追加のソフトは要りません。Microsoft サポートの「PC にインストールされている DirectX バージョンの確認」(適用先は Windows 8.1・10・11)の手順は次のとおりです。
検索ボックスに「dxdiag」と入力する
ツールバー(タスクバー)の「検索」ボックスに dxdiag と入力します。
結果の一覧から「dxdiag」を選ぶ
はじめて起動したときに確認のメッセージが出たら「はい」を選びます。
「システム」タブの「システム情報」を見る
「DirectX 診断ツール」が開いたら、「システム」タブを選びます。「システム情報」の中の「DirectX バージョン」が、入っている版です。
人に伝えるときは「すべての情報を保存...」
サポート窓口などに結果を渡すときは、「すべての情報を保存...」を選ぶと、診断の内容をテキスト ファイルに保存できます。
Windows 8.1・8 では画面の右端からのスワイプか「スタート」から検索を開く、Windows 7 以前では「スタート」の検索ボックスに dxdiag と入力する、と公式の記事は書き分けています。見る場所はどの版でも「システム情報」の「DirectX バージョン」です。
- Windows 10・11 では、最新の DirectX がはじめから入っている、と同じサポート記事は説明しています。多くの PC では「DirectX 12」と表示されます。
- ここに出るのは Windows 側の版です。 GPU がどの機能まで対応しているかは別の話で、あとの「機能レベル」の節で扱います。
- 保存したテキストには PC の構成の情報が入ります。渡す相手を確かめてから渡します。
確認したバージョンの比べ方(文字として比べると間違える)
ゲームの動作条件の「DirectX 11 以上」と、dxdiag の表示を見比べるだけなら、目で見て判断できます。ただ、社内の PC の一覧を表計算やスクリプトで仕分けるときは、バージョンを文字として比べると順番が狂います。 Python で実際に並べ替えた結果です。
import re
def key(s):
m = re.match(r"(\d+)(?:\.(\d+))?([a-z]?)", s)
return (int(m.group(1)), int(m.group(2) or 0), m.group(3))
vs = ["9.0c", "10", "10.1", "11.0", "11.1", "11.2", "11.3", "12"]
print("str :", sorted(vs))
print("tuple:", sorted(vs, key=key))
for have, need in [("12","11.0"),("11.2","12"),("9.0c","11.0"),("12","9.0c")]:
print(f"have {have:5} need {need:5} str:{have>=need!s:5} tuple:{key(have)>=key(need)}")
str : ['10', '10.1', '11.0', '11.1', '11.2', '11.3', '12', '9.0c']
tuple: ['9.0c', '10', '10.1', '11.0', '11.1', '11.2', '11.3', '12']
have 12 need 11.0 str:True tuple:True
have 11.2 need 12 str:False tuple:False
have 9.0c need 11.0 str:True tuple:False
have 12 need 9.0c str:False tuple:True
文字として比べると「9.0c」がいちばん大きい扱いになり、「9.0c は 11.0 以上」という誤った判定が出ました(3行目)。逆に「12 は 9.0c 以上」が False になっています(4行目)。数字の組に直してから比べると、どちらも正しく判定できました。バージョン番号の並べ替えで起きやすい間違いなので、DirectX に限らず覚えておくと役に立ちます。Linux 側で OS の版を確かめる方法は、関連記事「LinuxのOS・バージョン確認コマンド|os-releaseとunameの違い」で扱っています。
WindowsごとのDirectXのバージョン一覧
この節では、Windows の版ごとに、どの DirectX が入っているのかが分かります。
DirectX は Windows の一部として入っていて、入っている版は Windows の版でほぼ決まります。 Microsoft サポートの「最新版の DirectX をインストールする方法」にある「オペレーティング システム別の DirectX のバージョンと更新プログラム」を表にまとめます。
| Windows の版 | 入っている DirectX | 更新の入手方法(公式の記載) |
|---|---|---|
| Windows 10 | DirectX 11.3 と 12 | Windows Update。単体のパッケージは無い |
| Windows 8.1 | DirectX 11.2 | Windows Update。単体のパッケージは無い |
| Windows 8 | DirectX 11.1 | Windows Update。単体のパッケージは無い |
| Windows 7 | DirectX 11.0 | SP1 にはプラットフォーム更新プログラム(KB2670838)で 11.1 |
| Windows Vista | DirectX 10(SP1 以降は 10.1) | SP2 には KB971512 で 11.0 |
| Windows XP | DirectX 9.0c | DirectX 9.0c エンドユーザー ランタイム |
- Windows 11 は、この表に単独の行がありません(2026年11月11日時点。記事の適用先には Windows 11 が入っています)。Windows 11 については、サポート記事の「Windows 10 と 11 には最新の DirectX が入っている」という説明と、Windows 11 の仕様ページの「グラフィックス カード:DirectX 12 以上(WDDM 2.0 ドライバー)に対応」という条件が公式の記載です。
- どの版の説明にも、DirectX をさらに上の版にするには OS のアップグレードが必要、という注記があります。Windows 8.1 に DirectX 12 だけを足す、ということはできません。
- Windows 10 の中でも、機能の追加は Windows の機能更新と一緒に届きます。たとえば DirectX 12 Ultimate は、Windows 10 May 2020 Update(バージョン 2004)以降が条件です。
DirectXの最新版をインストールする方法(Windows Update)
この節では、「DirectX の最新版をインストールしたい」ときに実際に行うことが分かります。
Windows 8 以降では、DirectX の更新は Windows Update で届きます。DirectX だけを入れる単体のインストーラーはありません。 公式のサポート記事は、Windows 10・8.1・8 のそれぞれについて「更新プログラムは Windows Update から入手でき、これらのバージョンの DirectX にスタンドアロン パッケージは無い」と説明しています。
そのため、「最新版をインストールする」は、次の順に確かめることになります。
- 1dxdiag で今のバージョンを見るWindows 10・11 で「DirectX 12」なら、Windows 側は最新の世代
- 2Windows Update を実行するDirectX の更新は Windows の更新に含まれて届く
- 3グラフィックドライバーを更新する新しい機能は GPU とドライバーの対応も要る
- 4DLL が無いというエラーなら、エンドユーザー ランタイムd3dx9_43.dll などは、以前の SDK の部品。次の節で説明
- 5それでも条件に届かないときは OS か GPUWindows 8.1 以前で DirectX 12 が要る、GPU が対応していない、など
検索すると「DirectX 12 ダウンロード」というページがたくさん見つかりますが、Windows 10・11 の DirectX 12 は、Microsoft からは Windows Update で配られるものです。 Microsoft 以外のサイトが配る「DirectX のインストーラー」や DLL の単体ファイルは、中身を Microsoft が保証しているものではないので、この記事では勧めません。入手先は Windows Update と Microsoft ダウンロード センターに絞るのが安全です。
ゲームが新しい DirectX 12 の機能を持ち込む仕組み(Agility SDK)
DirectX 開発者ブログによると、DirectX 12 には「Agility SDK」という仕組みがあり、ゲームが新しい DirectX 12 の機能の入ったファイル(D3D12Core.dll)を自分と一緒に配れます。Windows 側の D3D12.dll は薄い読み込み役になり、ゲームに付いてきたものと Windows のものを比べて、新しいほうを使います。対象は Windows 10 バージョン 1909 以降です。遊ぶ側が何かを入れる操作は無く、「ゲームごとに DirectX 12 の中身が少し違うことがある」という知識として知っておく程度で済みます。
DirectX エンドユーザー ランタイムとは(何が入るか)
この節では、Microsoft ダウンロード センターにある「DirectX エンドユーザー ランタイム」が何を入れるもので、何を入れないのかが分かります。
DirectX エンドユーザー ランタイムは、DirectX の本体を新しくするものではありません。以前の DirectX SDK に含まれていた、任意の部品を入れるパッケージです。 ダウンロード センターの説明は、入るものを「D3DX9・D3DX10・D3DX11・XAudio 2.7・XInput 1.3・XACT・Managed DirectX 1.1」と挙げたうえで、「Windows に入っている DirectX ランタイムは変更されない」「一部の以前のゲームで使われる、旧 DirectX SDK の任意のコンポーネントを入れる」と書いています。
入るもの(旧 DirectX SDK の部品)
D3DX9・D3DX10・D3DX11(描画の補助ライブラリ)
XAudio 2.7・XACT(音)
XInput 1.3(コントローラー)・Managed DirectX 1.1
変わらないもの
dxdiag の「DirectX バージョン」
Direct3D 11・12 など Windows に入っている本体
GPU やドライバーが対応する機能
| 項目 | ダウンロード センターの記載 |
|---|---|
| 名前 | DirectX エンドユーザー ランタイム |
| ファイル名 | directx_Jun2010_redist.exe |
| バージョン | 9.29.1974.1 |
| 公開日 | 2024/7/15 |
| ファイル サイズ | 95.6 MB |
値は 2026年11月11日時点のページの表示です。ファイル名の「Jun2010」は、DirectX SDK の最後の版である 2010年6月版に由来します。Microsoft Learn の「Where is the DirectX SDK?」は、Windows 8 以降 DirectX SDK は Windows SDK に含まれるようになったこと、D3DX9・D3DX10・D3DX11 は非推奨のユーティリティ ライブラリであることを説明しています。音の XAudio2 も同じで、2.7 までは DirectX SDK の再配布用 DLL として配られ、2.8 は Windows 8、2.9 は Windows 10 に最初から入っています。
つまり「以前の SDK で作られたゲームが、Windows に入っていない補助の DLL を探している」ときに入れるのが、このパッケージです。 入れても dxdiag の表示は変わらないので、「入れたのにバージョンが上がらない」は正常な結果です。UE5 のように、動作条件にこのランタイムを挙げる開発ツールもあります。関連記事「UE5(Unreal Engine 5)とは|始め方・必要スペック・料金を解説」で扱っています。
「d3dx9_43.dll が見つからない」エラーの対処
この節では、ゲームの起動時に d3dx9 の DLL が無いと言われたときの、公式の対処が分かります。
公式の対処は、Microsoft ダウンロード センターの DirectX エンドユーザー ランタイムを入れることです。 Microsoft サポートの記事は、DirectX 9 を使うアプリやゲームで次のエラーが出ることがある、と例を挙げています。
The program can't start because d3dx9_35.dll is missing
日本語の Windows では「コンピューターに d3dx9_35.dll がないため、プログラムを開始できません」という趣旨の表示になります。公式の例は d3dx9_35.dll ですが、検索の多い d3dx9_43.dll なども「d3dx9_」に数字が続く同じ形の名前で、D3DX9(旧 DirectX SDK の描画の補助ライブラリ)のファイルです。数字は SDK の版ごとに変わるため、ゲームが作られた時期によって探すファイルが違います。
1原因は「以前の SDK の部品が無い」
Windows 10・11 に DirectX 12 が入っていても、D3DX9 の DLL は Windows の標準には含まれない。DirectX の版が低いわけではない。
2対処はエンドユーザー ランタイム
Microsoft ダウンロード センターから入れる。公式の記事は、入れても DirectX のバージョンは変わらないと書いている。
3DLL を1個だけ拾ってこない
Microsoft 以外のサイトの DLL は中身を確かめられない。ゲームの配信サービスや販売元のサポート情報も先に見る。
DLL が見つからないとき
出どころの分からないファイルを Windows のフォルダーに置かない
ゲームの配信サービスで買ったゲームは、インストールのときに必要なランタイムも一緒に入れる作りになっていることが多く、入れ直すと直ることがあります。会社の PC では、自分で入れる前に管理部門の決まりを確かめます。
DirectX 12と11の違い
この節では、DirectX 12(Direct3D 12)と DirectX 11(Direct3D 11)が何で違い、どちらが選ばれるのかが分かります。
Direct3D 12 は、以前の版よりもハードウェアに近い「低い層」の API です。 Microsoft Learn の「What is Direct3D 12?」は、Direct3D 12 はハードウェアの抽象化の層が以前の版より低く、複数の CPU コアを生かしやすい、と説明しています。そのかわり、メモリの管理などをアプリ側が受け持ちます。
| 観点 | Direct3D 11 | Direct3D 12 |
|---|---|---|
| 抽象化の層 | 高め。ランタイムとドライバーが多くを受け持つ | 低め。アプリが細かく制御する |
| 描画の命令の出し方 | デバイスに結び付いた即時コンテキスト | コマンド リストに記録してから送る |
| メモリの管理 | ランタイム側が多くを管理 | アプリが自分で管理する |
| 複数コアの活用 | できるが制約がある | 設計の中心。CPU の負荷を大きく減らせる |
| シェーダー モデル | 5.0 まで | 5.1 以降も使える |
| 対応する機能レベル | 9_1 〜 12_1 | 11_0 〜 12_2 |
同じページには、Direct3D 12 の利点として「CPU の負荷を大きく減らす」「消費電力を減らす」「GPU の効率がおよそ20%まで上がる」が挙げられています。一方で、Direct3D 12 は「高度なグラフィックスのプログラマー向けに設計されていて、深い専門知識と細かな調整が要る」とも書かれています。
- Direct3D 11 は終わった技術ではありません。 Microsoft Learn は「Direct3D 11 は Direct3D 12 と並ぶ、引き続き有効な選択肢」で、Direct3D 12 の新しい描画機能の多くは Direct3D 11.3 でも使える、と説明しています。
- 遊ぶ側から見ると、ゲームの設定に「DirectX 11/DirectX 12」の切り替えがあるときは、同じ画面を出すための API を選んでいます。どちらが速いかは、ゲームの作りと PC の構成で変わります。
- レイトレーシングやメッシュ シェーダーなど、Direct3D 12 でしか使えない機能もあります(機能レベル 12_2 の機能は Direct3D 11 の API からは使えません)。
ゲームエンジンを使う場合は、エンジンが DirectX の呼び出しを受け持つので、開発者が Direct3D 12 を直接書く場面は限られます。エンジンの入口は、関連記事「Godot Engineとは|始め方・GDScript・2Dゲームの作り方を解説」で扱っています。
機能レベル(feature level)とは
この節では、「DirectX 12 が入っているのに、ゲームが動かない」を説明する、機能レベルの考え方が分かります。
機能レベルは、GPU が持つ機能の、はっきり決められたまとまりです。API のバージョンとは別のものです。 Microsoft Learn は「A feature level is a well-defined set of GPU functionality.」と定義し、DirectX 開発者ブログは「機能レベルはグラフィックス カードの性質」と説明しています。公式の説明から、押さえておく点は4つです。
- 1機能レベルは GPU とドライバーの側の性質Windows の DirectX が 12 でも、GPU の機能レベルが 11_0 ということがある
- 2上のレベルは下のレベルの機能を含む12_1 に対応する GPU は、12_0・11_1・11_0 の機能も持つ
- 3機能レベルは性能を表さない公式は「機能だけを表し、性能はハードウェアの作りで決まる」と書いている
- 4Direct3D 12 の API は 11_0 まで下がるDirectX 12 のドライバーは、すべて機能レベル 11_0 以上
機能レベルは、プログラムの中では D3D_FEATURE_LEVEL という列挙の値で表します。公式のリファレンスにある値を Python で読み解くと、16進数の上の桁がそのままレベルの数字になっていました。
levels = {"9_1":0x9100,"9_2":0x9200,"9_3":0x9300,"10_0":0xa000,"10_1":0xa100,
"11_0":0xb000,"11_1":0xb100,"12_0":0xc000,"12_1":0xc100,"12_2":0xc200}
for name, v in levels.items():
major, minor = v >> 12, (v >> 8) & 0xF
print(f"{name:5} 0x{v:04x} = {v:5d} -> {major}_{minor}")
print("sorted ok:", list(levels.values()) == sorted(levels.values()))
9_1 0x9100 = 37120 -> 9_1
9_2 0x9200 = 37376 -> 9_2
9_3 0x9300 = 37632 -> 9_3
10_0 0xa000 = 40960 -> 10_0
10_1 0xa100 = 41216 -> 10_1
11_0 0xb000 = 45056 -> 11_0
11_1 0xb100 = 45312 -> 11_1
12_0 0xc000 = 49152 -> 12_0
12_1 0xc100 = 49408 -> 12_1
12_2 0xc200 = 49664 -> 12_2
sorted ok: True
0xc200 の「c」は10進数の 12、次の桁の「2」が小数点以下にあたり、12_2 を表します。値が数として大きい順にレベルも高いので、プログラムでは値の大小でレベルを比べられます。開発者は、デバイスを作るとき(D3D12CreateDevice)に求める機能レベルを指定し、作れたらそのレベルに対応している、と判断します。
機能レベルごとの違い(シェーダー モデルとテクスチャの最大寸法)
Microsoft Learn の「Direct3D feature levels」の表から、2つの項目を抜き出します。右端の列は、最大寸法の正方形のテクスチャを 1 ピクセル 4 バイト(RGBA 各 8 ビット)で持ったときの大きさを計算したものです。
| 機能レベル | シェーダー モデル | テクスチャの最大寸法 | ピクセル数 | 4 バイト/px の大きさ |
|---|---|---|---|---|
| 12_2 | 6.5 | 16384 | 268,435,456 | 1,024 MiB |
| 12_1・12_0・11_1・11_0 | 5.1(Direct3D 11 では 5.0) | 16384 | 268,435,456 | 1,024 MiB |
| 10_1・10_0 | 4.x・4.0 | 8192 | 67,108,864 | 256 MiB |
| 9_3 | 2.0 | 4096 | 16,777,216 | 64 MiB |
| 9_2・9_1 | 2.0 | 2048 | 4,194,304 | 16 MiB |
2048 x 2048 = 4,194,304 px RGBA8 = 16 MiB
4096 x 4096 = 16,777,216 px RGBA8 = 64 MiB
8192 x 8192 = 67,108,864 px RGBA8 = 256 MiB
16384 x 16384 = 268,435,456 px RGBA8 = 1,024 MiB
1辺が2倍になるとピクセル数は4倍になり、機能レベル 9_1 と 11_0 では、1枚のテクスチャの上限が 64 倍違う計算になります。これは「扱える上限」であって、実際のゲームがこの大きさの画像を使うという意味ではありません。機能レベルが「何ができるか」の線引きだということが、数字で分かります。
DirectX 12 Ultimateとは
この節では、GPU の箱やゲームの紹介に出てくる「DirectX 12 Ultimate」が何を指すのかが分かります。
DirectX 12 Ultimate は、次の世代のグラフィックス機能を、PC と Xbox Series X で共通にそろえたまとまりの名前です。 Microsoft の DirectX 開発者ブログが 2020年3月19日に発表しました。DirectX 13 のような新しい番号ではなく、DirectX 12 の上に載る機能の組です。含まれる機能は4つです。
| 機能 | 何をするものか(発表記事の説明の要約) |
|---|---|
| DirectX Raytracing 1.1 | 光の進み方を追って描くレイトレーシング。GPU 側から始める方式やインラインの方式が加わった |
| Variable Rate Shading | 画面の場所ごとに、陰影の計算の細かさを変える |
| Mesh Shaders | 形状(ジオメトリ)を処理する流れを、より柔軟な計算の形に置き換える |
| Sampler Feedback | テクスチャのどの部分が必要だったかを記録し、読み込みを賢くする |
- 発表記事は、これらの機能を使う次の世代のゲームも、DirectX 12 Ultimate に対応しないハードウェアで引き続き動く(新しい見た目の効果は得られない)と書いています。
- DirectX 開発者ブログの 2020年10月の記事は、条件として Windows 10 May 2020 Update(バージョン 2004)以降を挙げ、確かめ方として Xbox Game Bar(Win + G)の設定にある「Gaming features」と、GPU の製品ページや箱の「DirectX 12 Ultimate」の表記を紹介しています。
- Windows 11 の仕様ページは、DirectX 12 Ultimate を「対応しているゲームとグラフィックス チップで利用できる」機能と書いています。同じページでは DirectStorage の条件として、NVMe SSD と、Shader Model 6.0 に対応した DirectX 12 の GPU が挙げられています。
- 機能レベル 12_2 の仕様は、条件としてレイトレーシング(Tier 1.1)・可変レート シェーディング(Tier 2)・メッシュ シェーダー(Tier 1)・サンプラー フィードバック(Tier 0.9)・Shader Model 6.5 などを挙げています。DirectX 12 Ultimate の4つの機能と重なる内容です。
DirectXとグラフィックドライバーの関係
この節では、DirectX とグラフィックドライバーの受け持ちの違いと、ドライバーの更新手順が分かります。
DirectX は「共通の窓口」、グラフィックドライバーは「その GPU を実際に動かすソフト」です。更新の経路も別々です。 DirectX は Windows Update で、ドライバーは Windows Update か GPU メーカーの配布で更新されます。DirectX の版が新しくても、ドライバーが以前のままだと、新しい機能が使えなかったり、表示が乱れたりすることがあります。
| 項目 | DirectX | グラフィックドライバー |
|---|---|---|
| 作っているところ | Microsoft | GPU のメーカー |
| 役割 | アプリに共通の API を見せる | API の命令をその GPU 向けに実行する |
| 更新の経路 | Windows Update | Windows Update、メーカーの配布 |
| 確かめる場所 | dxdiag の「システム」タブ | デバイス マネージャーのデバイスのプロパティ |
Microsoft サポートの「Windows のデバイス マネージャーを使用してドライバーを更新する」は、Windows Update による更新をいちばん確実な方法としたうえで、手動の手順を次のように説明しています。
- 「スタート」を右クリックし、「デバイス マネージャー」を開く。
- カテゴリ(GPU なら「ディスプレイ アダプター」)を展開し、デバイスを右クリックして「ドライバーの更新」を選ぶ。
- 「ドライバー ソフトウェアの最新版を自動的に検索する」を選ぶ。見つからないときは「Windows Update で更新されたドライバーを検索する」を選ぶ。
- メーカーのサイトから入手したドライバーを使うときは、「コンピューターを参照してドライバーを検索します」からフォルダーを指定する。
更新のあとに調子が悪くなったときは、同じ記事にある「ドライバーを元に戻す」(デバイスの「プロパティ」→「ドライバー」タブ)が使えます。Windows 11 が求めるドライバーの形式は WDDM 2.0 以上です。Windows 11 を入れ直すための USB メモリの作り方は、関連記事「Rufus(ルーファス)の使い方|Windows 11のUSB作成と全項目の意味」で扱っています。
DirectXとOpenGL・Vulkan・Metalの位置づけ
この節では、DirectX と同じ役割を持つ OpenGL・Vulkan・Metal が、それぞれどこで使われるのかが分かります。
4つとも「アプリが GPU を使うための API」で、違いは主に、作っている団体と、動く OS・機器です。 どれが優れているという話ではなく、作るものの対象の機器で選ばれます。提供元の公式ページの説明を並べます。
| API | 提供元 | 主な対象 | 提供元の説明(要約) |
|---|---|---|---|
| DirectX(Direct3D) | Microsoft | Windows、Xbox | ゲームと高性能なマルチメディア アプリ向けの API |
| OpenGL | Khronos Group | PC・ワークステーションなど幅広い機器 | 業界で広く使われている 2D・3D グラフィックスの API |
| Vulkan | Khronos Group | PC・ゲーム機・スマートフォン・組み込み | GPU に効率よくアクセスする、複数の環境で使える新しい世代の API |
| Metal | Apple | iPhone・iPad・Mac・Apple TV・Apple Vision Pro | Apple シリコンを生かすための、グラフィックスと計算の API |
- Windows 向けのゲームは DirectX を使うものが多いですが、Windows の上で OpenGL や Vulkan を使うアプリもあります。その場合、対応は GPU のドライバーが受け持ちます。
- Mac や iPhone には DirectX はありません。同じゲームが複数の機器向けに出ているときは、ゲームエンジンが機器ごとの API を使い分けています。
- ブラウザの中の 3D は WebGL や WebGPU という別の API で、ブラウザが OS の API(Windows では Direct3D など)に橋渡しします。
- GPU は描画だけでなく、機械学習の計算にも使われます。クラウドの GPU を借りて試す方法は、関連記事「Google Colabとは|使い方・GPU・料金・制限とエラーの直し方」で扱っています。
DirectXのよくあるつまずきと判断表
この節では、DirectX まわりで起きやすい症状の原因と直し方、そして「自分の場合は何をすればよいか」の判断が分かります。
| 症状・表示 | 考えられる原因 | 直し方 |
|---|---|---|
d3dx9_35.dll is missing(d3dx9_43.dll なども同じ形) |
以前の DirectX SDK の部品(D3DX9)が入っていない | Microsoft ダウンロード センターの DirectX エンドユーザー ランタイムを入れる |
| エンドユーザー ランタイムを入れたのに、dxdiag のバージョンが変わらない | 正常。このパッケージは DirectX の本体を変えない | 何もしない。本体の更新は Windows Update |
| 「DirectX 12 をダウンロード」のページが公式に見つからない | Windows 8 以降の DirectX には単体のパッケージが無い | Windows Update を実行する |
| dxdiag は DirectX 12 なのに、DirectX 12 のゲームが動かない | GPU かドライバーが、ゲームの求める機能レベルに届いていない | ドライバーを更新する。GPU の製品ページで対応を確かめる |
| Windows 8.1 以前で DirectX 12 にしたい | DirectX の版は OS の版で決まる | OS のアップグレードが要る(公式の注記) |
| ゲームの DirectX 12 の設定で不安定になる | ゲームと構成の組み合わせ | ゲームの設定で DirectX 11 に切り替えて比べる。ドライバーを更新する |
| ドライバーの更新のあとに表示が乱れる | 新しいドライバーとの相性 | デバイス マネージャーの「ドライバーを元に戻す」 |
判断表:自分の場合は何をするか
| 状況 | すること | しなくてよいこと |
|---|---|---|
| バージョンを知りたいだけ | dxdiag の「システム」タブを見る | 別のソフトを入れる |
| Windows 10・11 で最新にしたい | Windows Update とドライバーの更新 | DirectX のインストーラーを探す |
| 以前のゲームで DLL が無いと出る | DirectX エンドユーザー ランタイムを入れる | DLL を1個だけ探して置く |
| 新しいゲームの動作条件を満たすか知りたい | dxdiag の版と、GPU の製品ページの対応を両方見る | dxdiag の版だけで判断する |
| DirectX 12 Ultimate を使いたい | Windows の版(2004 以降)と GPU の対応表記を確かめる | ソフトだけで対応させようとする |
| これから 3D のプログラムを学ぶ | ゲームエンジンか Direct3D 11 から始め、要るときに 12 へ | 最初から 12 の細かな制御を全部覚える |
最後の行は、Microsoft Learn が Direct3D 12 を「高度なグラフィックスのプログラマー向け」と説明し、Direct3D 11 を引き続き有効な選択肢としていることに沿った目安です。
よくある質問
Q. DirectX とは何ですか? A. Windows のゲームやマルチメディアのアプリが、GPU・サウンド・コントローラーなどを共通の方法で使うための、Microsoft の API の集まりです。3D グラフィックスの Direct3D のほか、Direct2D・DirectWrite・XAudio2・XInput などが含まれます。
Q. DirectX のバージョンの確認方法は? A. タスクバーの検索ボックスに dxdiag と入力して「DirectX 診断ツール」を開き、「システム」タブの「システム情報」にある「DirectX バージョン」を見ます。Microsoft サポートの手順です。
Q. DirectX は無料ですか?自分で買うものですか? A. DirectX は Windows の一部として入っていて、別に買うものではありません。更新は Windows Update で届き、DirectX エンドユーザー ランタイムも Microsoft ダウンロード センターで配られています。
Q. DirectX の最新版はどこからダウンロードしますか? A. Windows 8 以降の DirectX には単体のパッケージが無く、Windows Update で更新されます。Microsoft ダウンロード センターにあるのは、以前の SDK の部品を入れる「DirectX エンドユーザー ランタイム」で、DirectX の本体の版は変わりません。
Q. DirectX 12 は Windows 11 に入っていますか? A. Microsoft サポートは、Windows 10 と 11 には最新の DirectX が入っていると説明しています。Windows 11 の条件にも「DirectX 12 以上(WDDM 2.0 ドライバー)に対応したグラフィックス カード」が含まれます。
Q. DirectX 11 と 12 は両方入っているのですか?入れ替える操作は要りますか? A. 公式の表では、Windows 10 に DirectX 11.3 と 12 が含まれます。どちらを使うかはゲームやアプリが決めるので、PC 側で入れ替える操作はありません。ゲームの設定に切り替えがあれば、そこで選びます。
Q. DirectX をアンインストールや再インストールできますか? A. DirectX は Windows の一部で、Microsoft の公式ページに、Windows 10・11 の DirectX だけを外したり入れ直したりする手順は見当たりませんでした(2026年11月11日時点)。不具合のときは、Windows Update、ドライバーの更新、エンドユーザー ランタイムの順に確かめます。
Q. d3dx9_43.dll が見つからないと表示されます。 A. 以前の DirectX SDK の部品(D3DX9)が入っていないときの表示です。Microsoft の対処は、ダウンロード センターの DirectX エンドユーザー ランタイムを入れることです。Microsoft 以外のサイトから DLL だけを取ってくる方法は勧めません。
Q. DirectX エンドユーザー ランタイムを入れると、DirectX 12 が DirectX 9 に戻りませんか? A. 戻りません。ダウンロード センターは、Windows に入っている DirectX ランタイムは変更されないと説明しています。以前のゲームが使う補助の DLL が足されるだけです。
Q. 機能レベル(feature level)と DirectX のバージョンは何が違いますか? A. DirectX のバージョンは API(Windows 側)の版、機能レベルは GPU とドライバーが持つ機能のまとまりです。DirectX 12 の API は機能レベル 11_0 の GPU でも動きますが、12_2 の機能は 12_2 に対応した GPU でしか使えません。
Q. DirectX 12 Ultimate は DirectX 13 のことですか? A. 違います。DirectX 12 の上に、レイトレーシング 1.1・可変レート シェーディング・メッシュ シェーダー・サンプラー フィードバックの4つをそろえたまとまりの名前で、PC と Xbox Series X で共通です。
Q. Mac や Linux で DirectX は使えますか? A. DirectX は Microsoft が Windows と Xbox 向けに提供している API です。Mac では Metal、Linux では OpenGL や Vulkan が、同じ役割を受け持ちます。
まとめ
- DirectX は、Windows のゲームやアプリがハードウェアを共通の方法で使うための API の集まり。Direct3D・Direct2D・DirectWrite・XAudio2・XInput などを含む。
- バージョンは dxdiag の「システム」タブの「DirectX バージョン」で確認する。Windows 10・11 には最新の DirectX が入っている。
- Windows 8 以降の DirectX は Windows Update で更新され、単体のパッケージは無い。上の版にするには OS のアップグレードが要る。
- DirectX エンドユーザー ランタイムは、D3DX9 など以前の SDK の部品を入れるもの。d3dx9 の DLL が無いというエラーの公式の対処で、DirectX の版は変わらない。
- 「DirectX 12 が動くか」は、Windows の版・ゲームが使う API・GPU の機能レベル(とドライバー)の3つで決まる。DirectX 12 Ultimate は 12 の上の4つの機能のまとまり。
次に読むとよい記事です。ゲームエンジンから 3D に入るなら関連記事「UE5(Unreal Engine 5)とは|始め方・必要スペック・料金を解説」と関連記事「Godot Engineとは|始め方・GDScript・2Dゲームの作り方を解説」、Windows 11 の入れ直しは関連記事「Rufus(ルーファス)の使い方|Windows 11のUSB作成と全項目の意味」で扱っています。
参考・出典
確認日はいずれも 2026年11月11日です。
- Microsoft サポート「PC にインストールされている DirectX バージョンの確認」:https://support.microsoft.com/help/4028644/windows-open-and-run-dxdiagexe
- Microsoft サポート「最新版の DirectX をインストールする方法」:https://support.microsoft.com/help/179113/
- Microsoft サポート「Windows のデバイス マネージャーを使用してドライバーを更新する」:https://support.microsoft.com/ja-jp/windows/ec62f46c-ff14-c91d-eead-d7126dc1f7b6
- Microsoft ダウンロード センター「DirectX エンドユーザー ランタイム」:https://www.microsoft.com/ja-jp/download/details.aspx?id=8109
- Microsoft「Windows 11 の仕様とシステム要件」:https://www.microsoft.com/ja-jp/windows/windows-11-specifications
- Microsoft Learn「DirectX graphics and gaming」:https://learn.microsoft.com/en-us/windows/win32/directx
- Microsoft Learn「Direct3D feature levels」:https://learn.microsoft.com/en-us/windows/win32/direct3d11/overviews-direct3d-11-devices-downlevel-intro
- Microsoft Learn「Hardware Feature Levels(Direct3D 12)」:https://learn.microsoft.com/en-us/windows/win32/direct3d12/hardware-feature-levels
- Microsoft Learn「D3D_FEATURE_LEVEL enumeration」:https://learn.microsoft.com/en-us/windows/win32/api/d3dcommon/ne-d3dcommon-d3d_feature_level
- Microsoft Learn「What is Direct3D 12?」:https://learn.microsoft.com/en-us/windows/win32/direct3d12/what-is-directx-12-
- Microsoft Learn「Where is the DirectX SDK?」:https://learn.microsoft.com/en-us/windows/win32/directx-sdk--august-2009-
- Microsoft Learn「XAudio2 Versions」:https://learn.microsoft.com/en-us/windows/win32/xaudio2/xaudio2-versions
- DirectX Developer Blog「Announcing DirectX 12 Ultimate」:https://devblogs.microsoft.com/directx/announcing-directx-12-ultimate/
- DirectX Developer Blog「DirectX 12 Ultimate for Holiday 2020」:https://devblogs.microsoft.com/directx/directx-12-ultimate-for-holiday-2020/
- DirectX Developer Blog「New in DirectX — Feature Level 12_2」:https://devblogs.microsoft.com/directx/new-in-directx-feature-level-12_2/
- DirectX Developer Blog「Getting Started with the DirectX 12 Agility SDK」:https://devblogs.microsoft.com/directx/gettingstarted-dx12agility/
- DirectX-Specs「Feature Level 12_2」:https://microsoft.github.io/DirectX-Specs/d3d/D3D12_FeatureLevel12_2.html
- Khronos Group「OpenGL」「Vulkan」:https://www.khronos.org/opengl/ / https://www.khronos.org/vulkan/
- Apple「Metal」:https://developer.apple.com/metal/
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「DirectXとは|バージョン確認(dxdiag)と最新版の入れ方・11と12の違い」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。