Amazon.co.jp ウィジェット Archive @iga
Skip to main content.

アーカイブ

May 2010のアーカイブ

2010/05/26 (水)

Twitterで何度か呟きましたが、以下記しておきます。

Q. なぜCPUの性能が良いAndroid携帯でも、iPhoneに比べると格段にカクカクした使い心地なのですか?
A. 画面描画の処理の仕組みが根本的に異なるためです。
iPhoneのDeveloper's Guideでも注意するように何度も警告されていますが、User Experienceを最大化するためには、GPUにできるだけ処理させるようなコードを書くべきです、とあります。CPUで描画するようなコードはできるだけ書いてはいけません、と。
Core Animation APIを使うと、スクロールや拡大・縮小などを、OS (正確にはUIKit)が自動的にCPUではなく、GPUに割り振ってくれます。つまりCPUはスクロールなどをしている間は空いているのです。
Androidは、OSのみが規定されているため、iPhoneのような戦略を採用することが今のところできません。描画はすべてCPUが担当します。iPhoneでのBad Patternしか、できないのです。