Unity パフォーマンスの最適化 1: パフォーマンス標準、共通ツール

性能基準

おすすめの時間帯:

パフォーマンスはプレイヤーの直感的な感覚であるフレームレートに反映されますが、必要なフレームレートを達成するにはCPUの消費時間を制御する必要があり、ゲームの種類によって必要なフレームレートも異なります。おすすめの時間帯は以下の通りです。

推奨メモリ:

ゲームのクラッシュを回避する鍵は、PSS メモリ (実際の物理メモリの比例設定サイズ) のピーク値を制御することです。PSS メモリの大部分は、Reserved Total および Mono ヒープ メモリ内のリソース メモリにあります。Lua を使用するプロジェクトの場合は、Lua のメモリにも注意する必要があります。

ピーク PSS メモリがハードウェア メモリ全体の 0.5 ~ 0.6 倍未満に制御されている場合にのみ、クラッシュのリスクが低くなります。たとえば、2G デバイスの場合は PSS メモリを 1G 未満に制御する必要があり、3G デバイスの場合は 1.5G 未満に制御する必要があります。

ほとんどのプロジェクトでは、PSS メモリは予約合計よりも約 200MB ~ 300MB 大きいため、2G 機器の予約合計は 700MB 未満に制御する必要があり、3G 機器の予約合計は 1G 未満に制御する必要があります。

レンダリングモジュールの推奨値:

ゲームの画質に対する要件がますます高くなるにつれて、GPU の負荷に起因するパフォーマンスのボトルネックに遭遇するプロジェクトが増えています。GPU の負荷は、フレーム レート、解像度、三角形パッチの数、後処理によって影響を受けます。シェーダーの複雑さ、オーバードローやその他多くの影響を受けるため、グレードの異なるモデルに対応する調整を加えたり、グレードの異なるモデルをより詳細に区別したりして、上位モデルを実現する必要があります。ローエンドモデルでも滑らかさは保証できます。以下の表をテンプレートとして使用し、さまざまなゲームタイプのニーズをさらに調整することができ、緑色の値が達成できればより良いものになります。

推奨ツール 

Unityプロファイラー

実機のデバッグとショートカット キー A (現在のフレームのデータをウィンドウに適合させる)、F (タイムラインで 1 つを選択し、適切なウィンドウにすばやくフォーカスする) を使用することをお勧めします。

プロファイラー モジュールは、必要に応じて追加または削除できます。フレームは、デフォルトで 300 フレームのデータを記録します。設定 -> 分析 -> プロファイラーで変更できます。最大値は 2000 です。これを超えると、プロファイルの消費量が増加します。

 データのレンダリング、それに影響を与える大きな要因はカメラの視点の変更です

Unity フレーム デバッガー

  • 現在のフレームのレンダリング プロセスを表示します。すべての描画呼び出しを一覧表示し、各呼び出しを順番にステップバイステップで実行できます。
  • Draw Call の呼び出し数を確認し、頂点/インデックスの数を通じてシーンのレンダリング コストを間接的に測定します。
  • バッチが適切に結合されているかどうかを確認し、結合されない理由を確認することもできます。
  • シェーダ プロパティにアクセスして、マテリアルとシェーダに関する詳細情報を取得したり、オブジェクトで使用されるデータへの参照を取得したりすることもできます。

 マリオフラインコンパイラ

ドキュメント – Arm 開発者の 公式ドキュメント

a. このツールは主にシェーダーの複雑さを計算し、段階的な高、中、低の値に基づいてシェーダーが複雑すぎるかどうかを判断するために使用されます。

b.これは、GPU シェーダーの静的分析を提供するコマンド ライン ツールです。これは主に、シェーダ構文の検証、パフォーマンスのボトルネックの特定、および変更によるパフォーマンスへの影響の測定に使用できます。

シェーダーを選択してファイルにコンパイルし、フラグメント シェーダーまたは頂点シェーダー コードを選択し、mali コマンド ラインを使用して分析します。 

c. Unity エディターから FRAGMENT Shader を取得します。


そのレポートから、いくつかの最適化に関する提案を得ることができます。

  • if ステートメントと Discard ステートメントは使用しないようにしてください
  • 関連する計算量を削減し、逆三角関数などの複雑な関数の使用を削減します。
  • 型変換を避ける
  • 32 ビットの高精度浮動小数点数の使用を減らしますが、332 ビットの位置と深さを使用するのが最善です。
  • こぼれなどを引き起こさないようにしてください。
     

Xcode フレームデバッガー

メタル モデル マシン (つまり iPhone) のテストのみをサポートします。編集スキームで GPU をメタルとして選択すると、対応するフレームの情報を傍受できます。Unity Frame Debugger に似ていますが、より完全な機能を備えています。

オンにした後、実マシンで実行しているときに、以下のツールバーを使用してインターセプトします。

おすすめ

転載: blog.csdn.net/qq_37672438/article/details/131910244