kazuakix の日記

Windows Phone とか好きです

Windows Phone アプリのパフォーマンスを調べる

Windows Phone アプリを作っているのですが、エミュレーターや Lumia 925 では問題ないのに何故か Lumia 1520 でだけスクロールが遅いという現象に悩んでいます。

具体的には ListView のスクロールが遅い (というか表示が追いついていない) のですが、Lumia 925 (Snapdragon S4 1.5GHz Dual Core) よりも Lumia 1520 (Snapdragon 800 2.2GHz Quad Core) が負けているのは納得がいきませんよね。

という事でアプリそっちのけで パフォーマンスを調べる方法を調べてました。*1

Windows Phone Developer Power Tools

まずは、SDK に付属している Windows Phone Developer Power Tools のパフォーマンスモニターとパフォーマンスレコーダーが使えそうです。具体的な使い方はコチラ

f:id:kazuakix:20140914231847j:plain,w500
 
パフォーマンスモニターで Lumia 925 の CPU 使用率を見るとこんな感じ。
f:id:kazuakix:20140914235828j:plain,w500

そして Lumia 1520 。 CPU 100% に張り付いてるんですけど!?
f:id:kazuakix:20140914235833j:plain,w500

もうひとつのパフォーマンスレコーダーで記録したファイルは Windows Performance Analyzer (WPA) で開くことができます。

f:id:kazuakix:20140914231904j:plain,w500

でも、これを見ると必ずしも CPU が 100% に張り付いてる訳ではなさそう...?

Visual Studio のパフォーマンスと診断

Visual Studio の [分析]-[パフォーマンスと診断] を実行してみます。

f:id:kazuakix:20140914231910j:plain,w500

「CPU 使用率」「XAML UI の応答性」「エネルギー消費」の 3 つと「メモリ使用量」は何故か排他のようです。とりあえず気になる 「CPU 使用率」「XAML UI の応答性」で実行してみました。
 
上から Lumia 925, 1520 の結果。

f:id:kazuakix:20140914231916j:plain,w500
f:id:kazuakix:20140914231923j:plain,w500

Lumia 925 が ListView の中身を 6 ~ 8 ミリ秒程度で生成しているのに対して 1520 は 32 ~ 34 ミリ秒もかかっています。実に 5 倍以上です。フル HD なので生成する情報量が多かったりするのでしょうか? 明らかにこのあたりがおかしいですね。
 
いくつかドキュメントを見つけたのでもう少し調べてみます。

という訳で今日はオチなしでした。解決したら続きを書きます。

*1:つまり進捗ダメです