6

パフォーマンスを向上させるために、iOS でレイヤーのブレンドを回避しようとしています。ただし、私が使用しているサイズ変更可能な画像が、ブレンドされたレイヤーとしてマークされていることbackgroundViewに気付きました。UITableViewCell

ブレンドレイヤーとして扱われるUITableViewCell

実際、透明度のない JPEG であっても、サイズ変更可能な画像を使用すると、このスクリーンショットに見られるように、最初に PNG が使用され、次に JPEG がUIImageView. ブレンドされたレイヤーを必要としない唯一のサイズ変更可能な画像は、下部に表示されている 1x1 ピクセルの画像でした。

最初の画像は PNG、2 番目は JPEG、3 番目は 1x1 ピクセルの PNG です。

これを回避する方法はありますか?コア アニメーションのプロファイリングは (少なくとも私にとっては) 不正確な芸術ですが、テーブル ビューをスクロールするときに約 25 FPS に低下する主な要因だと思います。

Edit2: さらに実験を行ったところ、画像 (PNG または JPG) を垂直方向または水平方向にのみ引き伸ばすと、ブレンドされたレイヤーとしてマークされないことがわかりました。ただし、さらに実験を重ねると、これは、1 次元にのみ引き伸ばされた画像が小さくなるためであると考えられます。画像が 100x100 ではブレンドされていませんが、150x100 ではブレンドされています。

ここに画像の説明を入力

4

1 に答える 1

4

非常に幅の広い画像を作成し、縦方向のみに引き伸ばしました。これはブレンドレイヤーを必要とせず、私のテーブルビューセルに正しい効果をもたらします. これは理想的ではありませんが、高さが小さいため、網膜画像のサイズはまだ 236 バイトしかありません。

ブレンドされたレイヤーとして扱われない非常に幅の広い伸縮可能な画像

于 2013-02-26T05:32:15.977 に答える