背景画像とCGPath
、ユーザーが画面に触れると変更されるビューがあります。で画像をCGContextDrawImage()
描画し、その上にパスを描画するのは十分に高速ではなく、タッチ イベントのパフォーマンスを妨げます。私がしたいのは、ビットマップバッファーを持ち、パスの変更のみを描画することです。したがって、ビューdrawRect()
はバッファを描画するだけです。sを使用する必要があると思わCGContext
れますが、その方法がわかりません。これを最適化する別の方法はありますか?
編集:
ユーザーが画面に触れるたびにパスに追加しています。したがって、「パスの変更」とは、既存のパスにさらにポイントを追加することを指します。これが、毎回全体を描画するのではなく、画像をバッファーしてパスの「デルタ」だけを描画できると思う理由です。現時点で、私の描画とイベント ロジックは次のようなものです。
-(void)drawRect{
//Draw the background image
//Draw the whole path
}
-(void)touchesMoved{
//Add the touch point to the path
[self setNeedsDisplay];
}
このように背景を描画すると、パスだけを描画する場合よりも、タッチ イベント サンプリングのパフォーマンスが著しく低下します。