前セクションまでは、全てのプロジェクトに応用可能な最適化手法について説明させていただきました。本セクションでは、プロファイリングデータの収集前には行うべきではない最適化方法についてご説明します。この理由は様々で、例えば導入に甚大な労力が掛かる場合や、コードの明瞭さや保全性が失われる場合、パフォーマンスが犠牲になる場合、あるいは、解決される問題が、特定の規模においてのみ発生する場合などが考えられます。説明されている通り、基本的には、多次元配列の反復よりもジャグ配列の反復のほうが効率的です。これは、多次元配列が関数呼び出しを必要とするためです。調査を行うことで発見可能です。回のテストの平均結果)。次元配列へのアクセスのコストの差は、追加的な関数呼び出しのコストを示しています。メモリ構造のコストを示しています。メモリ構造の使用に掛かるコストを大幅に上回っています。次元配列の使用が推奨されます。ない場合で多次元の配列が必要な時には、常にジャグ配列を使用し、多次元配列は使用しないようにしてください。バイトのメモリが消費されることにご注意ください。メモリ消費量は、パーティクルシステム上でアクティベートされているモジュールの数に応じて増加します。このメモリはパーティクルシステムを終了しても解放されません。システムが破壊された場合にのみ解放されます。以降は、パーティクルシステムの設定のほとんどはランタイムで操作可能になっています。クラスまたは構造体上に抽出したほうが効率的な場合があります。オブジェクトを提供できるようになります。その後、そのオブジェクトに設定データを適用し、希望の視覚的エフェクトを実現することができます。これは、(シーン内で使用されているパーティクルシステムの)考えられる全てのバリアントと設定のプールを試みるよりも格段に効率的ですが、技術的に相当な労力を要します。内部的に、そのコールバックを受けるオブジェクトのリストを随時把握しています。これらは、リストの更新が一定の間隔で確実に行われるようにするために、イントルーシブなリンクのリストとして管理されます。有効化されるとリストに追加され、無効化されるとリストから削除されます。それを単純に追加するだけであれば簡単ですが、この方法だとコールバックの数が増えるに従って効率性が落ちます。マネージドコードのコールバックをネイティブコードから呼び出すと、小さいながらも無視できないオーバーヘッドが発生します。オーバーヘッドに起因するものです。シングルトンに添付すると有利です。コールバックを関連オブジェクトに送ることができます。なる)コードがコールバックから効率的にアンサブスクライブできるので、毎フレーム呼び出されなければならない関数の数を削減できるという付加的な利点もあります。効果的な節約方法は、稀にしか実行されないコールバックをなくすことです。以下の擬似コードをご覧ください。ドメインの切り替えに費やされています。評価に掛かる時間の両方が節約されます。デリゲートの実装は、サブスクライブとアンサブスクライブの頻度が低い場合、かつコールバックが少数の場合に合わせて最適化されています。リストの完全なディープコピーを行います。メソッドにパフォーマンスのスパイクが発生します。用に設計されたデータ構造の使用をご検討ください。データの読み込みに使用されるバックグラウンドのスレッドの優先度をディベロッパーが操作できるようになっています。これは、バックグラウンドでアセットバンドルをディスクにストリーミングしたい場合には特に重要です。ThreadPriority.Normalです。これより優先度が高いスレッドは全て、メインスレッドやグラフィックスレッドを一時停止させ、フレームレートのカクつきを発生させます。これより優先度の低いスレッドの場合はこれは起こりません。両スレッドに同等の時間の分配を試みます。これは通常、アセットバンドル解凍などの高負荷処理がバックグラウンドで複数のスレッドによって行われている場合に、フレームレートのカクつきを発生させます。設定から取得されます。ここに言及のある通り、このコールは、アセット読み込みがフレーム時間に及ぼす影響を抑えるために、メインスレッドがアセット統合に費やす時間も制限します。アセットはメインスレッドに「統合」される必要があります。統合中には、アセットの初期化が完了され、特定のスレッドセーフ操作が実行されます。コールバックなど}が含まれます。詳細は、リソース管理に関するガイドをご覧ください。オブジェクトを戻します。プロパティをアクセス可能にします。プロパティをアクセス可能にします。設定が使用される訳ではありません。