PCゲームが動かない時は使っているPCのDirectX(Direct3D)の対応バージョンをOSとグラフィックのハードそれぞれ確認してみましょう。
必要なDirectXのバージョンや機能を満たしていないかもしれません。DirectXバージョンの考え方と調べ方、対処方法をまとめます。
OSとグラフィックハードウェアそれぞれのDirectXの対応バージョンがあるのでどちらも満たす
Windowsのバージョンで利用できるDirectXのバージョンが決まっています。
グラフィックのハードウェアで実装しているDirectX(Direct3D)のバージョン、機能(機能レベル)があります。
つまり、ゲームの要件に合うようにOSのDirectXバージョンとグラフィックのハードの機能レベルを両方満たしている必要があります。
OSの対応DirectXバージョン
OSごとに使えるDirectXが異なります。たとえば、Windows 8でDirectX 12のゲームを遊ぼうとしても対応していません。
DirectX 9.0:主にWindows XP。Windows 2000、Me、98でも利用できる
DirectX 9.0c:Windows XP SP2に搭載
DirectX 10.0:Windows Vista以降に搭載
DirectX 10.1:Windows Vista SP1以降でのみ利用できる
DirectX 11.0:Windows Vista SP2 + Platform UpdateとWindows 7以降で利用可能
DirectX 11.1:Windows 8以降で利用可能
DirectX 11.2:Windows 8.1でのみ利用可能
DirectX 11.3:Windows 10以降でのみ利用可能
DirectX 12:Windows 10以降でのみ利用可能
DirectX 12 Ultimate:Windows 10バージョン2004以降でのみ利用可能
グラフィックハードウェアで実装しているDirect3Dバージョン
グラフィックのハードウェアの機能レベルを確認すると分かります。Direct3D 11から「機能レベル」という概念が導入されています。機能レベルは12_2、12_1、12_0、11_1、11_0といったものが振られています。
ハードウェアの機能レベルがゲームが必要とするDirectX(Direct3D)の要件を満たしているか確認必要です。
もし機能レベルが低いと対応している3Dの描画機能が低かったり、少なくなるので動作できるゲームが少なくなります。
OSとグラフィックハードウェアのDirectX対応バージョンの調べ方
手順
1.Windowsの検索欄やファイルを指定して実行(Ctrl+R)で「dxdiag」を入力して実行
2.DirectX診断ツールが立ち上がったら次の項目を確認
OSのDirectX対応バージョンの見方
「システム」タブの「DirectX バージョン」はOSが対応しているDirectXバージョンが出ています。
グラフィックハードウェアのDirect3D対応バージョンの見方
「ディスプレイ」タブを開き、「ドライバー」欄の「機能レベル」を見ます。ここはハードウェアが対応しているDirect3Dのバージョンが出ています。
対処方法
- OSのDirectXを更新してみる(またはOSをバージョンアップする)
- グラフィックドライバーが古い場合はドライバーを更新してみる。対応する機能レベルが上がる可能性がある
- 必要なDirectXのバージョン、機能レベルを満たしているグラフィックのハードに変えるか、パソコンを変える
ASUS T100HA(Windows10 21H2)の対応バージョン
診断ツールで見てみると以下のようになっていました。
「システム」タブの「DirectX バージョン」は "DirectX 12"
「ディスプレイ」タブの「ドライバー」欄の「機能レベル」は "11_1、11_0、10_1、10_0、9_3、9_2、9_1"
T100HAはCPU(Intel Atom x5-Z8500)に内蔵されているIntel HD Graphicsコントローラを使っています。Wikipediaの「Intel HD Graphics」のAtom(Cherry Trail)欄を見ると、FL(feature level)が11_1でツールの表示と合っています。
参考にしたWEBページ
Direct3D 12のグラフィックス ハードウェアの機能レベル