UIView
( を使用して) 2000x2000 を 200x200 に変換するmyView.transform = CGAffineTransformScale(...)
と、描画が非常に遅くなります。
描画コードは非常に単純です。
-drawRect:
CGContextAddPath(context, activePath);
CGContextSetLineWidth(context, self.strokeWidth);
CGContextSetStrokeColorWithColor(context, self.strokeColor.CGColor);
CGContextSetLineJoin(context, kCGLineJoinRound);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextStrokePath(context);
描画パフォーマンスを向上させるために特に何かする必要はありますか?
ps描画キャンバスビューを変換しない限り、非常に優れた描画パフォーマンスが得られます。つまり、約 60 fps です。
pps ビュー階層は次のようなものです。
UIView
UIView > UIView (controls)
UIView > UIView (drawing container)
UIView > UIView (drawing container) > UIView (background view)
UIView > UIView (drawing container) > UIView (drawing canvas)
おそらく私の描画コードは問題ではありません。パフォーマンスの低下は、ビュー階層に関係している可能性があります。背景画像を使用せず、描画キャンバスの背景を無地の白のままにしても、描画パフォーマンスが低下します。任意のヒント?