繰り返し呼び出されるdrawメソッドがあります(フレームごとに...)。このメソッドの中には、ローカルで定義された変数がいくつかあります(約20)。これらを構造内に配置し、その構造へのポインターをメソッドへのパラメーターとして渡すことを検討しています。これは、変数をスタックに配置するよりも間接操作の方が高速であることを期待しています。
一般に、ここには妥当なパフォーマンスの違いがありますか?
繰り返し呼び出されるdrawメソッドがあります(フレームごとに...)。このメソッドの中には、ローカルで定義された変数がいくつかあります(約20)。これらを構造内に配置し、その構造へのポインターをメソッドへのパラメーターとして渡すことを検討しています。これは、変数をスタックに配置するよりも間接操作の方が高速であることを期待しています。
一般に、ここには妥当なパフォーマンスの違いがありますか?
スタックへの変数の配置(少なくともx86プロセッサでは)は非常に高速です。x86プロセッサでは、スタックを使用すると、関数の最初で1回減算し、最後で1回加算することになります。変数を追加すると、数が変わるだけで、遅くなることはありません。間接参照を使用している場合は、操作が少し増える可能性があるため、少し遅くなる可能性がありますが、コンパイラがその構造体ポインタをレジスタに配置すると、ロードと保存が同じくらい速くなる可能性があります。
とにかくマイクロ最適化であるため、コードを単純化するものは何でも使用します。プロファイルを作成してボトルネックであると判断した後でのみ、コードを検討する必要があります。