DirectX 12 は、2015 年に Windows 10 とともにリリースされました。 Microsoft の DirectX 12 のリリースにより、ゲーマーとゲーム開発者にとって新しい時代が到来しました。 DirectX 12 は、CPU のオーバーヘッドを削減しながら GPU のパフォーマンスを向上させることができるため、急速に注目を集めました。 しかし、コンピューターのパフォーマンスを向上させることは、DirectX 11 から DirectX 12 に切り替えるのと同じくらい簡単なのでしょうか? DirectX 11 と 12 の違いを見てみましょう。 Microsoft DirectX とは何ですか?Microsoft DirectX の概要で説明したように、DirectX はマルチメディア関連のタスクを処理するための API のコレクションです。これには、Windows や Xbox などの Microsoft ベースのプラットフォームでのゲーム プログラミングが含まれます。背景を説明するために、API について簡単に説明しましょう。 アプリケーション プログラミング インターフェイス (API) により、2 つ以上のコンピュータ プログラムが相互に通信できるようになります。電話のようなものだと考えてください。友人が買い物リストをテキストメッセージで送信すると、携帯電話がそのデータを受信して表示します。これは基本的に API です。 DirectX 11 と DirectX 12 DirectX 11 と DirectX 12 の違いは何ですか?では、DirectX 11 と DirectX 12 の違いは何でしょうか?簡単に言えば、DirectX 12 は DirectX の最新バージョンです。両者の最も明らかな違いの 1 つは、ハードウェアと対話する方法です。 DirectX 11 で開発されたゲームのほとんどは、2 ~ 4 個の CPU コアのみを活用します。これらのコアの 1 つは、通常、グラフィック カードに何を実行するかを指示する専用コアです。 その後、ゲームは残りのコアを使用して、ゲームのパーティクルや描画距離など、CPU を集中的に使用するさまざまな設定を処理します。一方、DirectX 12 は、CPU のワークロードを複数のコアに分散し、各コアがグラフィック カードと同時に通信できるようにします。 DirectX 12 には、いくつかの便利な機能も備わっています。これには、非同期計算とパイプライン状態オブジェクト (PSO) が含まれます。非同期コンピューティングでは、複数のワークロードを並行して実行できるため、グラフィック カードの使用率が向上します。これにより、グラフィック カードの潜在能力が実質的に最大限に発揮されます。 グラフィック レンダリングに加えて、グラフィック カードは機械学習アルゴリズムの実行など、さまざまな他のタスクも担当します。 DirectX 11 では、グラフィック カードは一度にこれらのタスクのうち 1 つだけを特定の順序で実行できます。このような状況が発生すると、グラフィック カードのリソースがすべて使用されていないため、パフォーマンスが低下します。 レストランのウェイターのようなものだと考えてください。ウェイターが最初に注文を取るときに、最初に何を飲みたいか尋ねられます。飲み物を受け取ったら、メイン料理は何がいいか聞かれます。ご注文は段階的に処理されます。ウェイターはメインコースを食べ終わる前にデザートに何を食べたいか尋ねません。これは機能しますが、それほど効率的ではありません。 コンピューティングでは、サーバーの各タスクは異なるグラフィック カード リソースによって処理されます。ドリンクを受け取るまで、メイン料理の注文に必要なグラフィック カード リソースはアイドル状態になります。 DirectX 12 の非同期コンピューティングにより、ウェイターはファーストフード チェーン店のように、一度に注文を受けることができるようになります。これにより、グラフィック カードの使用が最大化され、ゲームのパフォーマンスが向上します。 DirectX 12 では PSO も導入されています。 DirectX 11 では、ゲームのジオメトリがレンダリングのためにグラフィック カードに送信されると、さまざまなハードウェア設定がこのデータを解釈してレンダリングする役割を担います。これはグラフィックス パイプラインと呼ばれ、グラフィックス カードがフレームをレンダリングするときに発生するデータのフローです。ただし、DirectX 11 グラフィックス パイプラインは完璧ではありません。 このパイプラインには、ラスタライズ状態、ブレンディング状態、深度ステンシル状態などのさまざまな状態のコレクションが含まれています。 DirectX 11 では、これらのさまざまな状態の間に依存関係があります。したがって、前の状態が定義されるまで、状態は完了できません。これにより、グラフィック カードの使用率が低下し、パフォーマンスが犠牲になって CPU オーバーヘッドが増加します。 この問題を解決するために、DirectX 12 では、グラフィックス パイプライン全体の状態を記述するオブジェクトである PSO が導入されました。 PSO は、画像を作成するために必要なさまざまな状態とコンポーネントが入ったボトルのようなものです。これにより、GPU は現在のグラフィックス パイプラインに基づいて状態を常に再計算するのではなく、各依存関係の状態を前処理できるようになります。 これにより、DirectX 11 の CPU オーバーヘッドが大幅に削減され、パフォーマンスが向上します。では、この違いは実際にはどのようなものなのでしょうか? Microsoft によれば、DirectX 12 は CPU オーバーヘッドを 50% 削減し、GPU パフォーマンスを最大 20% 向上させます。これらは大幅な改善ではありますが、同じ結果が得られるというわけではありません。 DirectX 11 と DirectX 12 DirectX 11からDirectX 12への切り替えはスムーズではなかったDirectX 11 は、2009 年 10 月 27 日に Windows Vista 向けに初めてリリースされました。そのため、DirectX 12 は 2015 年にリリースされ、DirectX 11 と DirectX 12 の間には 6 年のギャップがありました。この間、DirectX 11 を使用して何千ものゲームが開発されました。残念ながら、DirectX 11 から DirectX 12 への移行は簡単ではありません。 DirectX 11 はいわゆる高レベル API です。簡単に言えば、高レベルの API は開発者にとって扱いやすいということです。その結果、安定したプレイ可能なゲームが完成しました。一方、DirectX 12 は低レベル API であり、DirectX 11 とは比較になりません。開発者は細かいレベルで最適化を微調整できますが、使用するにはかなりの知識も必要です。 ただし、DirectX 12 で開発されたゲームは、開発者の API に関する知識によっては、パフォーマンスが低下する可能性があります。 DirectX 12 ではいくつかの改善が見られますが、最終的には開発者がそれをどれだけうまく実装できるかにかかっています。このため、多くの開発者は DirectX 11 のような高レベル API を使い続けることを選択します。 DirectX 11 と DirectX 12 のどちらを選択すべきでしょうか?答えは、実行したいゲームなど、いくつかの要素によって異なります。たとえば、Guild Wars 2 は DirectX 11 で動作します。オペレーティング システムとハードウェアが DirectX 12 を使用している場合でも、ゲームが DirectX 11 をサポートしていないため、Guild Wars 2 では DirectX 11 を選択することはできません。これは完全に開発元 ArenaNet の決定です。 ArenaNet が DirectX 9 から DirectX 11 に切り替えるのに 9 年かかりました。ただし、DirectX 11 と DirectX 12 の両方をサポートするゲームもいくつかあります。たとえば、フォートナイト。ゲームの設定を通じて、ユーザーは 2 つのバージョンを切り替えることができます。つまり、すべてのゲームが DirectX 11 と DirectX 12 の両方をサポートしているわけではありません。これをサポートするゲームでは、2 つを切り替えて、PC でどちらがよりパフォーマンスが良いかを自分で判断できます。 DirectX 11 と DirectX 12 のどちらを選択できるかは、ハードウェアによっても異なります。最近のグラフィック カードのほとんどすべてが DirectX 12 をサポートしていますが、Radeon HD 4870 などの古いグラフィック カードではサポートされていません。 2008 年にリリースされたこのグラフィック カードは DirectX 10 のみをサポートしているため、DirectX 11 および DirectX 12 を使用するほとんどの最新ゲームを実行できません。 DirectX 12 はあなたにとって正しい選択でしょうか?全体として、DirectX 11 から DirectX 12 への切り替えは、思ったほど白黒はっきりしたものではありません。ハードウェア、ソフトウェア、オペレーティング システム、ゲームが両方をサポートしているかどうかなど、さまざまな要因によって異なります。決定を下す前にこれらすべてを考慮する必要があり、これは DirectX の将来の世代にも当てはまる可能性があります。 |
<<: PS5 対 Xbox Series X: どちらのコンソールがより高速で優れているか?
>>: ゲームに最適なモバイル プラットフォームは Android と iOS のどちらですか?
Xml Content Translator は、XML ファイルを翻訳するときにテキストを自動的に...
📱DaDi Video は、大量の高解像度の映画やテレビのリソースとオンライン視聴サービスを提供する...
Xlight FTP Server は、Windows プラットフォームで実行でき、マルチプロトコル...
RidNacs は、無料のディスク領域分析ツールです。主な機能は、指定されたフォルダーまたはディスク...
新しいノートパソコンの購入を検討している場合は、Intel Evo ブランドに気づいたり、聞いたこと...
W10Privacy は、Windows 10 および Windows 11 ユーザー向けに設計され...
CyberLink Director Suite は、PowerDirector、PhotoDi...
これはまったく新しい AI 検索製品で、これまで使用していた検索エンジンとはまったく異なります。回答...
AMS PhotoMontage は、AMS Software が開発した写真コラージュ ソフトウェ...
QuickCPU は CPU パフォーマンスを最適化するソフトウェアです。 CPU の動作周波数と電...
Autodesk Revit は、建設業界向けにオートデスクが開発した BIM ソフトウェアです。設...
12306 Ticket Booking Assistant.NET は、.NET をベースに開発さ...
Apowersoft スクリーンレコーダーは、コンピューターの画面、マイクの音、コンピューターのシス...
多くの侵入テストツールを統合したツールです。ソフトウェアストアに似ており、ツールのダウンロードやアッ...
2018 年 12 月 8 日、Microsoft は Edge ブラウザが独自の EdgeHTM...