DirectX 12に関する開発アップデートが公開
本日海外コミュニティのRedditにて、開発チームがDirectX 12に関する最新情報を共有しました。
内容は下記のとおりです。
・今後DX12がデフォルトに
・DX11はサポート終了予定
・DX12の安定性はDX11を凌駕
・最大52%パフォーマンス改善
・ゲームエンジンの改善も迅速に
・パフォーマンス低下問題への対処も容易に
・DX12をサポートしていないGPUを使用している少数のプレイヤーは今後プレイ不可に
開発チームからのアップデート:DirectX 12
こんにちは、レジェンドの皆さん。
こちらでは、DirectX 12(DX12)のサポートに関する開発チームからの情報をご紹介します!
ベータ版からの移行についてや今後の展望についてお話ししますので、ぜひご覧ください。
今後の更新情報については、RespawnのX(旧Twitter)をフォローするか、Apex TrackerのTrelloをご覧ください。
DirectX 12(DX12)について、Apexのレンダリングエンジンを最新化するための基盤についてお話ししましょう。
パッチノートでご覧になったかもしれませんが、「From the Rift」シーズンよりDX12はベータ版を卒業しました!
データによると、DX12は全体的により良い体験を提供しています。
直近のパッチにおいてDX12の安定性はDX11を上回っており、大多数のPCプレイヤーにとってBRマッチでのパフォーマンスも向上しています。
いくつかの既知の問題はありますが、今シーズンでは特にロビーに初めて入る際のパフォーマンスに大幅な修正が加えられています。
DX12が好調である中、今後の計画を共有します:DX12をデフォルトにし、最終的にDX11のサポートを終了する予定です。
DX12をサポートしていないGPUを使用しているPCプレイヤーは少数派ですが、レンダリングエンジンの改善において重要なステップです。
なぜDX11とDX12の両方をサポートしないのか?
推定では、DX12への切り替え後に80〜90%のプレイヤーがBRマッチでパフォーマンスが向上するとしていますが、DX11を廃止する前にその数を100%に近づけることは難しいです。
ただし、DirectX 12に注力することで、エンジンの改善が迅速になり、長期的にはすべてのプレイヤーに利益をもたらすでしょう。
Apexのレンダリングにおける最大の優先事項は、ゲームのパフォーマンスを向上させることです。
また、アーティストやデザイナーがパフォーマンスの問題に制約されることなくビジョンを形にできるようにしたいと考えています。
新しいパッチ後に最も制限の多いパフォーマンス問題や、プレイヤーと開発に共通して影響する問題について多くの知見を得てきました。
これらの問題に対処する主要な改善を検討した結果、DirectX 12にフォーカスする方が効果的だという結論に至りました。
ご存じない方のために補足しますと、DX11とDX12は私たちのコードとグラフィックドライバーの間のインターフェース(API)であり、GPUとの通信を可能にするものです。
コンソールのグラフィックAPIやDX12には、パフォーマンスを大幅に向上させる高度な機能がありますが、DX11にはこれらの機能が欠けています。
これにより、ゲームのパフォーマンスを改善しようとする際に、DX11と他のすべてのプラットフォーム向けに2つのエンジンバージョンを持つことになります。
これは不可能ではありませんが、DX11に費やす時間をエンジンのさらなる近代化に使えた方が効率的です。
パフォーマンス分析
基本的な説明を終えたので、DX12に切り替えることで80〜90%のパフォーマンス向上が見られると計算した具体的な方法を掘り下げていきます。
ApexのPCパフォーマンスをDX11とDX12で比較する際に直面する2つの困難な課題があります。まず、非常に多様なPC構成の数です。
2週間の間に150種類以上のCPUと100種類以上のGPUが使用され、千種類以上の組み合わせが存在します。
さらに、プレイヤーごとに異なるビデオ設定、解像度、モニターを持っています。すべての組み合わせをテストすることは不可能であるため、実際のプレイヤーから得られるデータを使用する必要があります。
もう1つの困難な課題は「オプトインバイアス」です。
DX12ベータ版を選択したプレイヤーは、DX11を使い続けているプレイヤーとは異なる傾向があります。
彼らは新しいPCを持っていたり、低設定でプレイするなど、パフォーマンスに敏感である傾向があります。
DX12とDX11のフレームレートを単純に比較すると、DX12の平均フレームレートがはるかに高くなりますが、それがすべてのプレイヤーにとって速いとは限りません。
これらの課題に対処するために、DX12のパフォーマンスを3つの方法で分析しています。
方法1: 内部テスト
さまざまなPC構成(CPU、GPU、ビデオ設定)を対象にパフォーマンステストを実施し、データを収集します。
すべての構成を網羅することはできませんが、複数世代のハードウェアと異なる価格帯で人気のある構成を選択できます。
これらのテストでは、古い低価格のハードウェアを含むほとんどの構成で、DX12版のゲームでパフォーマンスが向上していることが確認されています。
このテストだけではプレイヤーベース全体への影響を一般化することは困難ですが、次の2つの方法で実際のプレイヤーデータを確認する際の妥当性を確認するために役立ちます。
方法2: DX11とDX12の両方を使用したプレイヤー
多くのプレイヤーがDX12ベータ版を試用しているため、DX12を使用する直前と使用した直後のフレームレートを比較できます(逆にDX12からDX11に戻した場合も)。
この分析にはまだ一部のバイアスがありますが、ゲーム全体の平均パフォーマンスを単純に比較するよりは偏りが少なくなります。
DX12のSteamオプションが導入された数日間に焦点を当て、両方のバージョンでプレイした10,000人以上のプレイヤーのデータがあります。
これらのプレイヤーはDX11とDX12で平均13試合ずつプレイし、80%のプレイヤーがDX12でパフォーマンス向上を体感し、さらに10%がDX11とほぼ同等のパフォーマンスを示しました。
方法3: パフォーマンスの推定
私たちの目標は、すべてのプレイヤーがDX11とDX12でどのようなパフォーマンスを得られるかを推定することです。
プレイヤーのパフォーマンスに影響を与える主な要素は、CPU、GPU、ビデオ設定、プレイしているゲームモードやマップです。
これらを考慮に入れ、特定のCPU、GPU、ビデオ設定を持つプレイヤーのフレームレートを基にしたパフォーマンス指標のグループを形成できます。
その中で、同じ設定を持つプレイヤーがDX12に切り替えた場合にどのようなパフォーマンスが期待できるかを推測できます。
Shockwaveデータを基に、80〜90%のプレイヤーがDX12でパフォーマンス向上を見込めると推定しています。
Dx12 パフォーマンス変化の推定チャート
これら3つの分析方法のどれも単独では完璧ではありません。それぞれにバイアスやプレイヤーベース全体への一般化に関する欠点がありますが、総合的に見ると、DX12が全体的により良い体験を提供することが明らかになっています。
パフォーマンス測定に関する詳細
ゲームのプレイ体験において平均フレームレートは重要ですが、平均フレームレートが高くても予期しないフレームドロップが発生すると、ゲームが非常に悪く感じられることがあります。
そのため、私たちは一般的に下位10パーセンタイルと1パーセンタイルのフレームレートに重点を置いています。
0.1パーセンタイルのフレームレートも非常に重要ですが、ライブデータの測定には多くのばらつきがあるため、これを分析するのは困難です。
上記のチャートは10パーセンタイルのフレームレートを示していますが、1パーセンタイルでも同様の結果が見られます。
また、特に「アンロックまたは制限なしのFPS」に焦点を当てています。
多くのプレイヤーが最大フレームレート(ゲーム自体やモニターやVSyncによって制限される)に到達しますが、裏ではゲームが実際にどれだけ速く動作しているか、制限がなければどのくらいのFPSを達成できるかを測定しています。
すでに最大フレームレートに達しているプレイヤーの多くがDX12の方が良いと感じている理由の1つは、画面に表示されるフレームが増えなくても、内部フレームレートが高いと入力遅延が減少するからです。このアンロックFPSを使用してパフォーマンスを比較します。
一部のプレイヤーのパフォーマンスを正確に測定できない場合もあります。
たとえば、外部ソフトウェアでフレームレートを制限している場合などです。ただし、これらのケースを検出して分析から除外することができます。
CPUおよびGPUのパフォーマンス
レンダリングエンジニアがパフォーマンスを見る際、通常はCPUとGPUのパフォーマンスを個別に見ています。
DX12の方が訓練場で悪化しているように見えるプレイヤーもいますが、実際にはバトルロイヤルのフルマッチではより高いフレームレートを得ています。
これは訓練場がCPUに負担が少なく(オブジェクトやプレイヤーが少ない)、GPUには複雑なライティングや多くのハイライトされたルートがあるためです。
ApexのCPUに最も負荷がかかる部分は、レンダリング用のデータやコマンドをGPUに送る生成処理です。
DX12は、この作業を複数スレッドで並行して行うことが可能で、DX11では実現できないため、プレイヤーデータもDX12のビルドでCPUパフォーマンスが改善されることを示しています(99%以上のプレイヤーが改善を確認)。
GPUに関しては、DX12のビルドでパフォーマンスが向上するプレイヤーが大多数ですが、一部のプレイヤーでは悪化することもあります。
最近のドライバーを用いた内部テストでは、最も人気のあるGPUのいくつかが30%以上速くなり、他の一部は15%遅くなったことが分かりました。
この違いの多くは、ドライバーがシェーダーをGPU用の機械レベルのコードにコンパイルする方法に依存します。
GPUパフォーマンスがDX12で低下するプレイヤー向けに改善を進めていますが、すぐには改善されない場合もあります。
同じハードウェアを使用していてもDX12に切り替えた際に極端なパフォーマンス低下が発生するプレイヤーも少数存在します。
もし該当するプレイヤーで、情報を共有する意思があれば(理想的にはプレイ動画、システム構成、Apexに影響を与える可能性のあるサードパーティソフトウェアを含む)、返信してください。
シェーダーコンパイル
最後に、シェーダーコンパイルについて少し触れておきます。
PCのDX12ゲームでよく見られる問題であるシェーダーコンパイルのスタッターを回避するため、Apexのエンジンとコンテンツパイプラインは、ゲーム内で使用されるすべてのシェーダーをレンダリングが必要になる前にコンパイルできます。
これにより、DX11での「マイクロスタッター」体験を多くのプレイヤーが感じなくなりました。
DX12ではシェーダーコンパイルがDX11よりも遅いことが一般的な課題です。
多くのプレイヤーが、DX12ベータ版のロビーでのパフォーマンス低下の背後にシェーダーコンパイルがあることを正しく推測していましたが、これはバグによってゲームのUIやレンダリングに予期せぬ干渉を引き起こしていました。
現在は修正され、From the Riftではロビーに入った際の大幅なパフォーマンス低下を感じることはなくなります。
DX12での初回のシェーダーコンパイルはロビーに入る前に時間がかかることがありますが、多くのCPUで大幅に改善されています。
シェーダーコンパイルがマルチスレッドで処理されるため、通常はDX11よりも時間がかかりますが、一度実行されると次回以降は速くなります。
ただし、大きなパッチやグラフィックスドライバーの更新後には再度フルコンパイルが必要な場合があります。
フィードバックと質問
DX11とDX12に関する追加情報を楽しんでいただけたでしょうか?
DX12、Apexのレンダリング、またはパフォーマンス分析について質問があれば、ぜひコメントでお知らせください。
できる限りお答えしますが、今後の機能に関する詳細は避けさせていただきます。
また、DX12で重大な問題を経験している場合は、システム構成や問題の詳細、関連情報をお知らせください。
特にサードパーティのソフトウェアやオーバーレイがパフォーマンスに影響を与える可能性がある場合は、その情報もお知らせください。