それに直面してみましょう:DirectX 11とOpenGLは少し古くなっています。 DirectX 11は2009年にWindows 7で導入され、その1年後にOpenGL 4.0が続きました。 ソフトウェアの時代には、これらのテクノロジーは古くなり、現在実行されているハードウェアは、これらのグラフィックスAPIがリリースされた時点では描画ボード上にもありませんでした。 この明らかな断絶を考慮して、業界は時代をどうするために何をしているのでしょうか? まあ、近い将来を見て見てみましょうが、最初にAPIとは何か、それがゲームに役立つ機能について説明しましょう。
APIとは何ですか?
APIまたは アプリケーションプログラミングインターフェイス は、ソフトウェアの構築に使用されるプロトコルとツールのセットです。 グラフィックスAPIは、実際には、3Dグラフィックスの生成を容易にするために構築された単なる特殊なAPIです。 グラフィックスAPIを使用すると、3Dイメージの構築が容易になりますが、APIに何かを実行するよう指示する(たとえば、四角形を描画する)こともできます。次に、APIがこのタスクを完了する方法についてハードウェアと通信できるようにします。 これが、特殊なハードウェアを備えた非常に多くの異なるGPUがすべて同じゲームを実行できる主な理由です。 APIが存在しない場合、特定のハードウェアセットと通信するために、同じゲームを異なる方法で記述する必要があります。 これにより、ハードウェアの製造が大幅に制限され、ゲームの構築コストが大幅に増加します。このコストは最終的に最終消費者に転嫁されます。
上記の説明を少しわかりやすくするために、アナロジーを使用します。APIを建設現場のマネージャーと考えてください。 彼または彼女の仕事は、建築家のアイデアを取り入れて、それを分解し、どの乗組員がどこにいついる必要があるかをスケジュールし、誰もが何をする必要があるかについて同じページにいることを確認することです。
現在使用されているグラフィックスAPI
グラフィックスAPIの仕事を理解したので、現在のラインナップを詳しく見てみましょう。 今日の市場の主要なプレーヤーは、1995年にずっと導入されたMicrosoftのDirectXです。リリース以来数回更新され、MicrosoftのWindowsオペレーティングシステムに含まれています。 DirectXは、PC用にリリースされたほとんどすべてのゲームがサポートする1つのグラフィックスAPIです。 実際、非常に一般的であるため、今日のPCゲームの標準となっています。 DirectXはWindowsおよびMicrosoft製品専用であり、残念ながら非常に閉じたシステムになっています。 次に並んでいるのは、唯一の主要なオープンソースグラフィックスAPIであるOpenGLです。 OpenGLは1992年にリリースされたマルチプラットフォームです。つまり、Windows、Linux、Mac OSなどの複数のオペレーティングシステムで動作します。 最後に、最新のグラフィックスAPIであるMantleがあります。 Mantleは、AMDとDiceのパートナーシップを通じて2013年に開発されました。 MantleはWindowsで、AMD GPUのみで使用できます。
画像ソース; 画像クレジット:Intel
DirectX 12
DirectX 12は、この秋にWindows 10と共にリリースされる予定であり、多くの新しい改善が宣伝されています。 大きな改善点の1つは、はるかに優れたマルチスレッドサポートです。 より多くの作業がCPUの複数のコアに分散されるため、CPU使用率が大幅に向上し、より効率的になります。 多くの場合、DirectX 11ではCPUの1つのコアのみが完全に使い果たされ、他のコアはアイドル状態になります。 DirectX 12は、このワークロードをより均等にCPUコアに分散させ、ゲームに使用するCPUパワーをより均等に与えることを約束します。 DirectX 12が約束する次の大きな改善点は、さらに多くの描画呼び出しを処理できることです。 描画呼び出しは、ゲームエンジンが画面上に何かを描画したいときに発生します。 多くの描画呼び出しの要件は、一般的にCPUに非常に負担がかかります。 DirectX 12は、最大600, 000の描画呼び出しを処理できると想定されています。 これを理解するために、DirectX 9は6, 000のドローコールまたはDirectX 12で可能な100分の1しか処理できませんでした。
何年もの間、SLI / Crossfireモードで複数のGPUを実行することが可能になりました。 ただし、大きな制限の1つは、カードに組み込まれたVRAMがスタックして1つの大きな連続プールを作成しなかったことです。 たとえば、2つのGPUにそれぞれ2 GBのVRAMが搭載されている場合、各カードには同じ情報を保存する必要があるため、事実上2 GBのVRAMしかありませんでした。 DirectX 12は、AFRまたは代替フレームレンダリングを使用してこの問題を解決したいと考えています。 各フレームの一部をレンダリングする各GPUの代わりに、GPUはフレーム全体を1つずつレンダリングするようになりました。 これにより、各カードのVRAMを個別に使用できるようになり、VRAMの量が少ないカードを長時間ゲームに使用できるようになります。 DirectX 12には、ゲームグラフィックスをこれまで以上にプッシュするための多くの新機能が搭載されているはずです。 ただし、Microsoftはこれらの新機能についてはまだかなり黙っています。 APIのリリースが近づいたら、すぐにそれらについてもっと知りたいと思います。
画像ソース; 画像クレジット:nVidia GeForce
バルカン
GDC 2015で発表されたように、VulkanについてはDirectX 12ほど知られていません。 バルカンは、前の記事で述べたマントルに由来するようです。 さらに、AMDはクロノス・グループとのパートナーシップにより、マントルの最高の部分をバルカンのテーブルに持ち込んでいるようです。 VulkanはDirectX 12と同じ多くの利点を持っているはずですが、Windowsのような単一のプラットフォームに縛られているわけではありません。 代わりに、Linuxやモバイルデバイスを含む多くの異なるプラットフォームで利用可能になります。 WindowsとLinuxの両方のVulkanドライバーは、DirectXとは異なり、完全にオープンソースになります。 Vulkanはマルチスレッドを改善し、ワークロードを複数のCPUコアに分散することにより、現在利用可能なCPUパワーをより有効に活用します。 前述したように、CPUの負荷を減らすと、GPUが現在のように簡単にボトルネックにならないようになります。 これにより、ゲーム中にかなりのフレームレートが向上します。 Valveによって最近発表されたソース2は、Vulkanを完全にサポートする最初の新しいゲームエンジンになりますが、近い将来、さらに多くが発表されると確信しています。 CPUを集中的に使用することで知られるDota 2は、IntelのCPUに統合されたグラフィックスを使用して、新しいVulkan APIを使用してSource 2で実行するショーでした。 これは確かにDirectX 11の下では望ましくなかったものですが、Vulkanを使用すると、ゲームは全体を通して適切なフレームレートを維持するように見えました。 Oxideゲームの開発者であるDan Bakerは、「GPUメーカーが協力して、GPUを現在よりも10倍高速化するまで、CPUを最大限に活用することはできません」とまで言いました。 これは、低速のCPUを実行している人や、現在多くのGPU馬力を持っている人にとっては朗報です。これは、同じハードウェアセットではるかに優れたパフォーマンスが得られることを意味するからです。
画像ソース; 画像著作権:クロノス
これはゲームの未来にとって何を意味するのでしょうか?
さて、長い間、GPUのパワーはCPUのパワーよりもずっと速い速度で増加しています。 5年前、Intelは、一部のGPUは独自のCPUの14倍高速であると述べました。 これらのテストは、nVidia GTX 280対i7 960 Intel CPUを使用して行われました。現在、比較的古いハードウェアと見なされています。 nVidia GTX Titan X(またはnVidia GTX 980)と現在の主流CPUの大国であるIntel i7-4790k CPUとのギャップは、もっと大きくなければなりません。 私がやろうとしているのは、CPUのせいでパフォーマンスが壁にぶつかるゲームがどんどん増えているということです。 リフレッシュレートの高いモニターをお持ちの方には、一部のゲームで現在のCPUで100 + fpsを維持するのがどれほど難しいかお尋ねください。 率直に言って、これらの新しいAPIとCPUパワーをより効率的に利用する能力がなければ、それはさらに難しくなります。 これらの新しいAPIの導入は、ほとんどの人にとってパフォーマンスの大幅な向上を意味する可能性があります。 さらに、開発者は現在よりもはるかに多くのCPUを集中的に使用するゲームを構築できます。 たとえば、アサシンクリードのようなゲームが一度に画面上に数千のNPCを持ち、都市をローミングしている間、すべてが相互にやり取りし、キャラクターと相互作用しているとします。 または、スターシチズンのようなゲームは、安定した許容可能なフレームレートを得るために非常に強力なCPUを必要としますが、近い将来、最高の平均CPUと素晴らしい60fpsを維持する強力なGPUが必要になるかもしれません。
最終的に、これはゲーマーになるための非常にエキサイティングな時間です。 これらの新しいグラフィックスAPIがリリースされると、ゲームテクノロジーの大きな飛躍が長い間見られるかもしれません。 これらのAPIが、既に自分自身で構築している誇大広告に対応できることを期待しましょう。
![新しいグラフィックAPIとPCゲームの未来 新しいグラフィックAPIとPCゲームの未来](https://img.sync-computers.com/img/android/656/new-graphics-api-s-future-pc-gaming.jpg)