例として、いくつかの OpenGL アプリケーションに次の描画関数があります。
void Terrain::Draw(float ox, float oy, float oz) {
float terrainWidth = stepWidth * (width - 1.0f);
float terrainLength = stepLength * (length - 1.0f);
float startWidth = (terrainWidth / 2.0f) - terrainWidth;
float startLength = (terrainLength / 2.0f) - terrainLength;
(...)
}
Terrain
はクラスであり、オブジェクトの存続期間中、ステップおよび地形の幅/長さのインスタンス変数が変更されることはないと確信しています (描画関数への最初の呼び出しの前に初期化されます)。
アプリケーションが安定した 25 fps で実行されると仮定すると、関数は 1 秒間に 25 回呼び出されます。値は決して変わらず、常に同じです。
これらの関数変数を静的として宣言すると、何か得られるでしょうか? 関数が呼び出されるたびにそれらが破棄されて宣言されるのを防ぐには?