ゲーム機よりもPCに多くを費やさなければならない理由

何年も前の古いコンソールは、新しい、より現代的なPCよりもはるかに優れた特定のゲームを実行します。 なぜこうなった? そのため、 ドローコール、 これは、他のシステムと比較してコンピュータゲームの最適化が不十分であることに関係しています。 そして、この一般的な傾向の理由は何ですか?

今日の多くのビデオゲームはオープンワールドです。つまり、連続して克服しなければならない一連の部分ではなく、複数のことが同時に発生する統一されたマップがあります。 すべての要素を同時に計算する必要があると、中央処理装置が窒息することになります。 そのため、マップは統一されていますが、ロード画面が中央にある、またはシネマティックな小さなセクションに分割されています。 これにより、プロセッサはその領域にあるものだけをロードし、残りの要素を破棄できます。 ただし、多くの場合、最適化があり、それらはうまく行われていません。

なぜコンソールよりもPCに多くを費やさなければならないのか

ドローコールとは何ですか?それはゲームのパフォーマンスにどのように影響しますか?

問題は、 CPU 何が表示され、何が表示されないかについての視覚的な概念はありません。あるフレームから別のフレームへの残りのオブジェクトとの相互作用を解決するために必要なオブジェクトのリストがあります。 ステージ上の各オブジェクトに対して行われるのは、私たちが「 ドローコール。 つまり、グラフィックAPIを使用します DirectX、OpenGL、Vulkanなど グラフィックカードがシーン上に上記のオブジェクトを描画するように 。 したがって、ゲームグラフィックスの生成は、常に中央処理装置で開始されます。

インスタンシアスはコールバッチを描画します

コストを削減するために、今日行われていることは、各描画呼び出しが「同じプロパティを共有するポリゴンのグループ」を参照することです。 このおかげで、たとえば牧草地の草を描く必要がある場合は、 GPU 草の各ブレードのAPIを介して、しかし私たちはそれを統一することができます。 これはバッチと呼ばれるか、スペイン語でパックされます。 それらを単一のグループに統合するという事実は、プロセッサがそれらのそれぞれを停止してGPUに送信する必要がある連続した複数の出荷を待つことは、単一の出荷を行うことと同じではないため、理にかなっています。そして忘れてください。

たとえば、このセクションの画像では、同じモデリングを使用しているが色が異なる多数のボールを見ることができます。 それぞれをグラフィックAPIに呼び出して、すべての色を呼び出すか、すべてをXNUMXつの投稿にグループ化することができます。

グラフィックAPIまたはその他の使用はどのように影響しますか?

プロセッサが多くの描画呼び出しを実行する必要がある場合、最善の解決策は、作業を複数のコアに分割することです。 ただし、CPUによって作成される描画リストはXNUMXつだけであるため、これを行うことはできません。 コスト超過を減らす方法は? シーンの描画とは独立して機能するシステムコールをすべて削除し、別々のリストに配置します。 これは、それらが異なる核によって運ばれる可能性があることを意味します。 ただし、ディスプレイリストは常に同じカーネルで実行されます。

Asincrono ドローコール API

グラフィックスとコンピューティングを12つの異なる部分に分離するという事実は、DirectX11以降とVulkanで見られたものです。 ゲームがDirectXXNUMXモード以前、またはOpenGLで実行されている場合。 したがって、描画呼び出しの量は多くなりますが、その多くはグラフィックスではなく計算用になります。 単純なレベルでは、これらはグラフィックカードが一連の計算を実行するための呼び出しにすぎません。 ただし、ゲームを実行しているシステムのタイプによっては、描画呼び出しの量がパフォーマンスの問題になる可能性があるため、グラフへの呼び出しの数を減らすために重要です。

ドローコールとグラフィックカード

通常、システムからディスプレイリストをコピーするのはGPU内のDMAユニットです RAM PCI Expressインターフェイスを使用してグラフィックカードRAM(VRAM)に接続します。 ただし、サイズ変更可能なBARを使用すると、中央処理装置はその逆を実行して、データをグラフに直接送信できます。 ただし、理想的なのはアクセス用の統合メモリモデルですが、現在PCやコンソールにはこれがありません。

間抜け

グラフィックカードが行う必要があることのXNUMXつは、オブジェクトの可視性を決定することです。これは、そのフレームに表示されていないすべてのオブジェクトを削除する必要があることを意味します。 つまり、遠すぎるもの、カメラから外れているもの、または他の大きなオブジェクトで覆われているものです。 中央処理装置は、これらのオブジェクトがこれらの条件を満たしているかどうかを知りません。単にそれらが現場にあることを知っており、グラフィックカードのGPUが廃棄プロセスの実行を担当します。

PCゲームで最適化されていないように見えるのはなぜですか?

通常、フレームレートが十分に高い場合、ゲーム開発者はドローコール番号が高すぎても心配しません。 ハードウェアは絶えず進化しており、最適化が不足している傾向があるため、これはPCの問題です。 コンソールを使用している間は、フレームレートを高く安定させるために、API呼び出しの数を減らす傾向があります。

ゲームプレイバイオハザード2リメイク4k60fps

不思議なことに、この点で最適化されているゲームはサービスとしてのゲームですが、すべてではありませんが、その理由は、人々が無料でプレイできるようにすることに基づいており、ユーザーからの散発的な支払いによって資金が提供されているためです。 これらのために、可能な限り最大の市場シェアを持つことが非常に重要です。 市場でこのクラスのタイトルの優位性をもたらしたもの。 単純明快で、ほとんどの人は問題なくそれらを実行できます。 一方、PCでの最適化がお粗末なためにグラフィックの負荷が高いゲームでは、同じ品質を提供するためにコンソールのXNUMX倍の電力が必要になる場合があります。

ゲームを特定のコンソールに変換することを担当するスタジオが最適化の欠如という同じ問題に陥る可能性があるため、これはPCでも発生することではありません。 したがって、結局のところ、そのゲームがコンピュータでうまく機能しないことの責任の多くは人間であり、あなたが持っているハードウェアではありません。

現実

技術的な理由が説明されたら、私たちはあなたが思っているよりもはるかに影響力のある政治家について話さなければなりません。 コンソールメーカーには、コンソールのゲームをテストし、正しく動作することを確認する品質部門があります。 ただし、タイトルが非常に重要な場合、これは時間との戦いにつながり、1日目のパッチ、さらにはCyber​​punk2077のような災害につながります。

それはPCには存在せず、EpicStoreもValvewithもありません スチーム ゲームが十分に最適化されていることを証明する品質プロセスを持っている。 また、市場に出回っている多数の異なるハードウェア構成を使用することもできません。 明日の意志で今日のPCがうまくゲームを実行できないのではないかと心配するのはなぜですか?