2

かなり小さなゲームでは、大規模なスケジュールされた更新方法ですべての更新(スプライト、速度、背景など)があります。スケジュールされた大規模な更新を1つだけ行うのか、複数のスプライトをそれぞれ2つのスプライトだけを更新するのかで、パフォーマンスに違いがあるのではないかと思いました。

また、次の間にパフォーマンスの違いがあるかどうか疑問に思いました。

    sprite.position = ccpAdd(sprite.postion, (delta*10, delta*5));

    sprite.position = ccp(sprite.position.x + delta*10, sprite.position.y + delta*5);

ccpとCGPointMakeを介した位置の割り当てにパフォーマンスの違いはありますか?

4

3 に答える 3

2

重要ではありません。

本当に、本当に知りたい場合は、測定してください。

それらは詳細です。それは、ワックスを塗った後、車が速くなるかどうかを尋ねるようなものです。そうかもしれないし、そうじゃないかもしれない。99.99999% の場合、差は無視できる程度であり、その他の要因 (車: 交通状況と道路状況 / ゲーム: 画面に描画するもの) がはるかに重要であるため、単純に問題ではありません。

于 2013-01-03T11:54:02.650 に答える
0

確かに、ccpAdd&ccpはコンパイルされたコードと同じです。

パフォーマンスの問題に関しては、更新するスプライトがたくさんある場合は、バックグラウンド スレッドを生成して更新の一部を実行することをお勧めします。 performSelectorInBackground:withObject:自動解放プールにコードを追加することを忘れないでください

于 2013-01-03T11:54:37.510 に答える
0

ccpAddは に解決されccp、次に に解決されるCGPointMakeため、コンパイルされたコードでは同じになります。それらはすべて#define、プリプロセッサで行われます。

于 2013-01-03T06:10:59.953 に答える