近頃版/another blog@hatena/Wiki/BBS
< 病院 | 最近 >
週明けまで、ひょっとすると来週いっぱいかかると思っていたS!アプリのパフォーマンスに関するトラブルシュートが予想外に迅速に収束。
一部機種でpng画像の部分描画が極端に遅くなる→描画に時間がかかるせいでイベントスレッドが占領されて入力への反応悪化→スタート画面での操作すら苦痛、という現象だった。
小さいブロックを転送しているうちは大して問題がないのだが、大きなブロックを転送しているとすげえ時間がかかる。一回のpaintで500msとか操作できるわけがない。
_解決の糸口は2本並行でSアプリを作っているもう片方のアプリの動作。
まず、もう片方ではそんな現象が起きていない。特に起動直後の画面は、構成要素がほぼ同じなのに描画速度がまったく違う(20ms 対 200ms)。だがそのうちに、そのもう片方のアプリでもレジューム直後だけは同様の状況に陥ることが発見された。
そこから立てられた予測は「createImageで読み込んだ画像に、高速描画できる状態と、そうでない状態がある」。で、両アプリで使ってる画像サイズを比べてみたら、PNGの状態で4倍という答えが。
そこでcreateImageで読み込む画像を減らしてみると、見事にスタート画面の描画が20ms程度に落ち着いた。こうなればあとは面倒だが簡単な話、使う画像リソースをあれやこれやで削って、メトリック情報を書き換えて画像リソース削減版を作ってとりあえずのトラブルシュートは完了、あとは各機種での端末テスト待ち。
_そんなわけで予想よりスケジュールに余裕はできた。それでも週末休んでいる暇があるかどうかは微妙なのだけれど、流石に寝る以外働いている状態は(病状も悪化している今は)厳しいので、この週末はは覚悟を決めてお休み。