2009-05-12 5 views
0

それは私の足の下で私のパフォーマンスを吸う非常にコスト集中的な機能ですか?私は彼らがホームスクリーン+コアアニメーションの揺らめくボタンのためにそれを使用したと思います。私はちょうど私が私の時間を無駄に開始する前に知ってほしい;)CGAffineTransformMakeRotation()の費用はいくらですか?

答えて

1

すべてと同じように、それがどのように、どのくらいあなたはそれを使用するに依存します。これは、iPhoneが非常に適しているゲーム開発で常に使用されています。 CoreAnimationも非常に高速です。もしあなたが心配しているのであれば、アップルが提供するサンプルアプリケーションの1つをインストゥルメント経由で実行して、自分のベンチマークの一部を実行して、自分のニーズに合っているかどうかを確認することをお勧めします。

3

は、それがパフォーマンスの問題の多くなるだろうとは考えにくい - それはコサイン、サイン、およびいくつかの乗算のようなものということになります。 1秒に数千回と呼んではいけません。あなたは大丈夫でしょう。

1

すべてCGAffineTransformMakeRotationは、()は、正規の古いCGAffineTransformのためのマトリックスに記入しています。あなたが自分で素早くマトリックスを埋めることができると思うなら、それを試してみてください(私はこれがすでに超最適化されていないと本当に驚くでしょう)。それは変換を適用する実際の作業を行うには時間が来るとき

はその後、私は、GPUはそれが速く実行されますので、それの世話をするように言われ、自分のメインCPUは、あまりにも多くを取るべきではないかなり確信していますヒット。あなたはそれについては本当に心配している場合は

、それは最適化されたハードウェアだことを確認するためのOpenGLの上に2次元空間に変換を行います。

+0

ありがとうございました。 OpenGLを使って2D空間でそれをどうすればいいのですか?私はOpenGLについてのアイデアはありません。常に3Dのものにすぎないと思っていました。 – Thanks

3

非常に(非常に)少し。これは自分で簡単に測定できるものでもあります。高解像度のタイミングを実装する例/情報については、以下のURLを参照してください。

0

私はちょうど私が開始する前に知ってほしいです私の時間を無駄にする

個々の行ではなくシステムを最適化します。あなたのコードが変換を何回呼び出すかは誰が知っていますか?システム全体を稼動させ、プロファイリングしてから遅すぎる部分を最適化することをお勧めします。

あなたが遅いと言う個々の通話について心配する必要はありません。あなたのコードが遅いが、あなたのコードでどのように動作するかを常に見ているなら、この情報をポインタとして使用してください。

関連する問題