2

クワッドを描画し、回転させるために、クワッド クラスにいくつかのメソッドを記述しました。

現在、draw sprite メソッドはまさにそれを行います - クワッドを画面にレンダリングします。

ただし、回転メソッドは、回転、クワッドもレンダリングします。

回転するだけでレンダリングしないメソッドと、行列の乗算を行うときに回転行列を考慮に入れる別のレンダリング ルーチンです。したがって、これを行う代わりに:

Quad sprite = new Quad();
Quad sprite.rotate(0,0,45,mMVPMatrix);  //rotate by 45 degrees and render at 0,0

私がすることができます:

Quad sprite = new Quad();
sprite.rotate(45);            //Rotate sprite by 45 degrees
sprite.draw(0,0,mMVPMatrix);  //Render sprite at 0,0

メイン コードを記述する場合、後者の方が多少柔軟ですが、スプライトを回転させたくない場合でも、描画ルーチンは回転行列を取得し、それを投影行列と組み合わせる必要があります。

50 個以上のスプライトを使用する場合、費用はかかりますか? 「より多くのコード」と「より良いパフォーマンス」の間には常にトレードオフがあることを私は知っていますが、現実的には、これは大きな問題になるのでしょうか?

4

1 に答える 1

4

最初にコードを書きます。次に、パフォーマンスに問題があるかどうかを確認します。あまりにも多くのことがパフォーマンスに影響を与える可能性があり、特に判断するための実際のコード (投稿した小さな断片以外) がなければ、誰もがヒントを与えることさえできません。

他の誰かが、コード開発における最大の罪は初期の最適化だと言いました。問題になることのないコードの最適化に、早い段階で多くの時間を費やすことができます。事後はいつでも最適化でき、事後はボトルネックがどこにあるかについての実際の情報を得ることができます。初期の最適化では、ボトルネックになることはありませんでしたが、最適化のために読みにくくなった微調整されたコードが得られます。

于 2013-04-12T18:46:39.463 に答える