忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。

UIScrollViewのスクロールを滑らかにする方法

わか

UIScrollViewにてスクロールを滑らかにする方法について記載します。

・UIScrollViewのdelegateのscrollViewDidScroll内の処理を10ミリ秒以下に押さえる。
・UIImage(画像)をaddSubViewする場合、事前にレンダリング処理※しておく
・画像ファイルは事前にアルファチャンネルを削除しておく
・UILabel(文字列)をaddSubViewする場合、画像に変換してaddSubViewする
・バックグラウンドでdrawInRectなどの処理がGPUを占有しないようにする
 (バックグラウンドだが処理が重いと、UIKit関連の処理が影響を受けます)


基本的にスクロールする際に発生するレンダリング(オフスクリーンレンダリング)を
バックグラウンドで行えば良いようです。
UIImage画像はimageNamedなどで読み込んだだけではレンダリング処理※は行われず、
実際に表示される際に発生しているようです。

※ここで記載したレンダリング処理とはグラフィックコンテキスト上(CGBitmapContextCreateImageなど)に画像情報を展開する処理のことです。

ここで記載した内容はUITablViewでも同じ事が言えます。
scrollViewDidScrollscrol
lViewDidScro

拍手[0回]

PR