私はUIView
サブクラス 'drawRect:
の機能に問題があります。 私はCGContextDrawRadialGradient()
を使っています。 ユーザーがUIViewをドラッグすると、グラデーションを含めると追いつくのに苦労しました。drawRect:速度とCGContextDrawRadialGradient(超低速?)
タイムプロファイラを使用すると、文字通り> 98%の時間がサブクラスのdrawRect
:メソッドで費やされています。
最初に、グラディエントの静止画像を使用する方が高速でしょうか? 2番目:これをスピードアップする方法はありますか?何らかの形でグラデーションをキャッシュすることはできますか?それほど変化しませんが、その周りのパスと交差すると、UIView
をドラッグすると変化します。
drawRect:
の方法がすべてのCPUサイクルを吸い込まないようにする方法に関する一般的なガイドを知っている人は、それはすばらしいでしょう。