2012-04-19 15 views
1

私は、円、四角、線などのような数学的な数字を描くことができる数学的なアプリケーションを書いています...私は現在のグラフィックスコンテキスト、Quartz 2D、UIView、drawRect:メソッドを使ってスクリーンに直接描画します。drawRectを使用した描画:パフォーマンスに重い?

私は何を求めているのか分かりませんが、パフォーマンスのために重くなるたびにdrawRect:を使用しています(iPhoneバッテリー)。どうもありがとう。

+1

この質問は、drawRectで何をしているかによってまったく異なるため、答えることはできません。 – sosborn

+1

それはどれくらいの頻度で画面を更新するかによって決まります( 'setNeedsDisplay'と呼ぶ) –

+0

はい、それはあなたが描くものによって決まりますが、これについては何かがあります。パフォーマンスは - 私の経験から - 反対の場合です)。しかし、多くのビューインスタンスがある場合は、drawRectの実装が同時に表示される(またはスクロールビュー上に表示されない)場合、UIKit内には多くの最適化が存在するため、メモリの問題が発生しますコアグラフィックスを使って自分自身を描く場合、フレームワークで使用することはできません。いつものように:最初にアプローチしてテストし、テストが失敗した場合にのみ代替案を考えてください。 –

答えて

2

あなたの質問に答えるために、Instrumentsを使用して重い条件下でアプリの実行をプロファイルする必要があります。それは重いかもしれません、またはそれは良いかもしれません。複雑さは、いくつかの理由により大きく異なる可能性があります。インターフェイスが視覚的に遅れている/遅い場合、そのがあなたの描画に時間がかかりすぎていることを示します。複雑さのために問題になると思われる場合は、導入された問題点を見つけて修正するためによくサンプルしてください。

関連する問題