3

重複の可能性:
iPhone と iPad で Quartz を使用した影の描画が遅い。別の方法?

以下のヘルパー メソッドを作成して、UIImageViews に影を追加しました。見た目は良いですが、グラフィックのレンダリングが大幅に遅くなり、デバイスを回転させると特に見栄えが悪いことに気付きました. 私もたまにもらいますReceived memory warning.

- (void)addShadowToImageView:(UIImageView *)imageView;
{
  imageView.layer.shadowColor = [UIColor lightGrayColor].CGColor;
  imageView.layer.shadowOffset = CGSizeMake(0, 1);
  imageView.layer.shadowOpacity = 1;
  imageView.layer.shadowRadius = 1.0;
  imageView.clipsToBounds = NO;
}

この効果をパフォーマンスのために最適化するにはどうすればよいですか?

4

1 に答える 1

1

私はこの投稿をチェックアウトします:

Quartz での影の描画が iPhone と iPad で遅い。別の方法?

その要点は、CoreGraphics が影を最適化できる方法であるため、CALayer の shadowPath プロパティを使用する必要があるということです。実際、このプロパティのドキュメントを確認すると、ビットが表示されます

通常、明示的なパスを指定すると、レンダリングのパフォーマンスが向上します。

原則として、UIView のレイヤーを直接操作する (影や角の半径などを行う) と、パフォーマンスが大幅に低下する傾向があります。

于 2013-01-08T19:00:03.853 に答える