コード実行速度の影響要因
潜在的なボトルネック
大量のデータや多数のオブジェクトを扱う場合、パフォーマンスが問題になります。その場合、合計実行時間に寄与する 2 大要因の影響を最小限に抑えることで、グラフィックス コードの実行速度を改善できます。
オブジェクトの作成 — シーンへの新しいグラフィックス オブジェクトの追加
画面の更新 — グラフィックス モデルの更新とレンダリングする変更の送信
通常、これらのアクティビティが特定のプログラミング パターンの合計実行時間で独占しないようにすることは可能です。実行時間は複数の項の和と考えられます。
"実行時間 = オブジェクト作成時間 + 更新時間 + (計算時間など)"
後続の例では、オブジェクト作成と画面更新にかかる時間を最小限にする方法を説明します。上記の式には、実際の画面のレンダリングにかかる時間は実行時間に含まれていません。
パフォーマンスの改善方法
コードをプロファイルし、アプリケーションに固有のアルゴリズム、計算およびその他のボトルネックを最適化します。次に、コード内でオブジェクト作成関数と drawnow
(更新) のどちらにより多くの時間がかかっているかを判定します。両方の処理の最適化を開始します。合計時間の式に含まれる項の大きい処理から始めます。
コードを以下のようにします。
既存のオブジェクトを更新せずに、新しいオブジェクトを作成する場合。適切なオブジェクト作成方法を参照してください。
部分的に静的データを含むオブジェクトを更新する場合。静的データの更新の回避を参照してください。
オブジェクト ハンドルを検索する場合。オブジェクトの再検索の回避を参照してください。
オブジェクトを回転、平行移動またはスケーリングする場合。オブジェクトの効率的な変換を参照してください。
同じループ内でプロパティをクエリおよび設定する場合。グラフィックス プロパティを取得および設定するコードの最適化を参照してください。