Windows Phone のアプリ プロファイリング

2013/10/15

対象: Windows Phone 8 | Windows Phone OS 7.1

Windows Phone のアプリケーション分析には、一般ユーザーが使用するように機能を実行しながらアプリのパフォーマンスをプロファイルするオプションがあります。

アプリのプロファイリングの目標は、アプリのパフォーマンスを理解するのに役立つ、アプリを改善するアクション可能なフィードバックを提供することです。この情報は、エンド ユーザーの元に届く前にアプリを改良し、安定および一貫したパフォーマンスで他のアプリと差別化するのに役立ちます。アプリのプロファイリング機能は、パフォーマンスの観点から関連のあるすべての主要な指標をキャプチャしようとします。そのガイド原則は、後で考え直すのではなく開発中にアプリの品質とパフォーマンスを確実にすることです。

このトピックでは、管理されているアプリのアプリのプロファイリング セッションのワークフローを説明します。ネイティブ アプリのプロファイリングの詳細については、「Windows Phone 8 用 Direct3D アプリのプロファイリング」を参照してください。

このトピックは、次のセクションで構成されています。

ただし、Windows Phone 8 または Windows Phone OS 7.1 を対象とするアプリのプロファイリングを行うことができます。

アプリのプロファイリングを開始するには

  1. Visual Studio で、Windows Phone プロジェクトを開きます。

  2. プロジェクトをビルドします。

    最適なプロファイル結果を得るため、リリース ビルドを作成します。詳細については、「Visual Studio を使用して Windows Phone アプリをビルドして配置する方法」を参照してください。

  3. 次のいずれかの方法によってアプリの分析を実行できます。

    • Alt キーを押しながら F1 キーを押します。

    • [デバッグ] メニューの [Windows Phone アプリケーションの分析の開始] をクリックします。

    ヒントヒント:

    [Performance Analysis の起動] ではなく [Windows Phone アプリケーションの分析の開始] を選択してください。

    Visual Studio の新しいタブで、空白のパフォーマンス ログ (.sap ファイル) が開きます。.sap ファイルの名前はプロジェクト名、日付、およびタイム スタンプの組み合わせを使用して自動的に指定されます。プロジェクトのログ ファイルは、削除しない限り、すべてプロジェクト フォルダーに保存されます。

    最初、パフォーマンス ログでは、分析するパフォーマンス オプションを選択できるようにする設定が表示されます。

    次の図は、Windows Phone のパフォーマンス分析を開始したときにプロファイリングに使用できるオプションを示しています。

    Application analysis options for profiling
  4. [プロファイリング] から、以下のいずれかのオプションを選択します。

    • ビジュアル項目の描画とコードのメソッド呼び出しのパフォーマンスを分析するには、[実行] オプションを選択します。

    • アプリのオブジェクト割り当てとテクスチャの使用を分析するには、[メモリ] オプションを選択します。

    Direct3D アプリでは [実行] オプションのみを使用できます。

    通常、アプリにメモリの問題があることがわかっている場合以外は、[実行] をプロファイリングします。

  5. 必要に応じて [詳細設定] を展開し、プロファイリング オプションを確認または変更します。これらの設定については、「実行プロファイリングの詳細設定」と「メモリ プロファイリングの詳細設定」で説明されています。

  6. 次に、[セッションの開始] をクリックします、

    選択したエミュレーターまたはデバイスでアプリが実行を開始します。

  7. 通常のユーザーと同様に、アプリ内を移動します。スクロールが滑らかでない、ユーザー インターフェイスの応答がないなど、アプリで以前に観察したパフォーマンスの問題がある場合、プロファイル セッション中にアプリでそれらの機能を使用してください。タイマーを使用し、アプリの問題領域を実行した時間をメモに取っておくと、後で分析のためにこれらの領域をタイムライン上で特定できます。

    次の図は、進行中のプロファイル セッションを示しています。

    The Windows Phone Profiler, "In Progress"

実行プロファイリングの詳細設定

設定

設定グループ

描画操作ごとに要素のコストを収集

ビジュアル プロファイリング

各ビジュアル要素のレイアウトとレンダリングに費やされた時間を収集してレポートします。

このオプションの既定値はオンです。

キャッシュ詳細を収集

ビジュアル プロファイリング

合成パフォーマンスの分析のためにドリルダウンの詳細を収集してレポートします。

このオプションの既定値はオフです。

メディア (画像と動画) イベントを収集

ビジュアル プロファイリング

メディア要素の読み込みに費やされた時間を収集してレポートします。

このオプションの既定値はオフです。

N ミリ秒ごとに depth 深さまでコール スタックを収集

コード サンプリング

コード プロファイラーはサンプリング プロファイラーです。コンピューターのプロセッサを指定された間隔 (約 N ミリ秒ごと) に中断し、depth スタック フレームの深さまで関数コール スタックを記録します。

このオプションの既定値はオンです。

depth に使用できる値は次のとおりです。

  • 1

  • 2

  • 3

  • 完全

depth の既定値は、[完全] です。N の既定値は 10 ミリ秒です。

詳細なパフォーマンス カウンターを収集

コード サンプリング

特定のランタイム アクティビティ (行われた相互運用呼び出しの数、コンパイルされた関数の数など) を測定する軽量カウンターを収集します。

重要: 重要:
この機能は実装されていません。

このオプションの既定値はオフです。

実行プロファイリングの詳細設定のスクリーン ショットを次に示します。

Advanced settings for execution profiling

メモリ プロファイリングの詳細設定

設定

説明

N 深さまでメモリ割り当てスタックを収集

メモリ プロファイラーは、実行されたマネージ オブジェクトのすべての割り当てに対するコール スタックを記録します。また、N スタック フレームの深さまで関数コール スタックを記録します。

このオプションの既定値はオンです。N の既定値は 4 です。

フル GC または N GC ごとにオブジェクト参照を収集

メモリ プロファイラーは、次のいずれかの条件が満たされる場合にのみオブジェクト グラフを計算します。

  • フル ガベージ コレクションの後。つまり、ヒープの内容が比較的安定しているとき。

  • 少なくとも N 回のガベージ コレクションの後。つまり、低い頻度の割り込みで。

このオプションの既定値はオンです。N の既定値は 5 です。

実行プロファイリングの詳細設定のスクリーン ショットを次に示します。

Advanced settings for memory profiling

アプリのプロファイリングを停止するには

  • 十分な数のアクティビティのサンプルを収集した後で、[セッションの終了] をクリックします。

    メモメモ:

    常に、[プロファイルの停止] をクリックしてプロファイル セッションを停止します。デバイスまたはエミュレーターを切断してプロファイル セッションを停止すると、サンプリング エラーが発生することがあります。

監視セッションを停止すると、収集されたデータのコピー、解析、および分析が行われます。その後、結果が表示されます。

プロファイリングの結果を検討および分析するには

  1. プロファイル セッションを終了したばかりの場合、プロファイリング結果ファイルは Visual Studio で既に開かれています。それ以外の場合は、ソリューション エクスプローラーでパフォーマンス ログ (.sap) ファイルをダブルクリックして Visual Studio で開きます。

    プロファイル セッションの結果のグラフが Visual Studio で開きます。プロファイリング結果には、グラフとパフォーマンスの警告が含まれます。グラフの行およびグラフや警告で使用される用語の詳細については、「Windows Phone アプリケーションの分析」を参照してください。結果には、次のセクションが含まれます。

    実行プロファイリングのグラフ

    実行プロファイリングの結果ページには、次のグラフの行が表示されます。

    • 外部イベント

    • フレーム レート

    • CPU 使用率

    • アプリケーションの応答速度

    • ネットワーク データ転送 MBps

    • バッテリー消費量 (mAh)

    • メモリ使用量 (MB)

    • ストーリーボード

    • イメージ読み込み

    • GC イベント

    メモリ プロファイリングのグラフ

    メモリ プロファイリングの結果ページには、次のグラフの行が表示されます。

    • メモリ使用量 (MB)

    • イメージ読み込み

    • GC イベント

  2. グラフを確認してプロファイル セッション中のアプリのフレーム レート、CPU 使用量、メモリ使用率、ストーリーボード、イメージ読み込み、およびガベージ コレクション イベントを調べます。

  3. アプリの特定の問題を識別するには、タイムラインで領域を選択します。グラフの一部を選択すると、詳細分析セクションが表示されます。このセクションには、選択した期間の [パフォーマンス警告] とパフォーマンスの詳細が表形式で示されます。

    [パフォーマンス警告] の表には、次のアイコンで識別される 3 種類のエントリが表示されます。

    • Information icon 情報項目

    • Warning icon 警告項目

    • Profiler error icon エラー項目

    [監視の概要] 列には、問題に関する情報が示されます。[パフォーマンス警告] メニューの右にあるメニュー オプションを展開し、特定のパフォーマンスの問題の詳細を確認できます。

    次の図は、選択されたグラフ セクション、および表示されたパフォーマンス分析の詳細セクションを示します。

    Windows Phone Profiler, with highlighted timeline
  4. Information icon 情報Warning icon 警告、および Profiler error icon エラーの各エントリについて、情報項目、警告項目、またはエラー項目の原因をさらに調べるには、[監視の概要] 列の指示に従ってください。[パフォーマンス警告] ナビゲーション ツール バーでの選択、および結果ビューで探す必要がある情報が説明されています。ナビゲーション ツール バーで [パフォーマンス警告] をクリックすると、他のビューが非表示になり、パフォーマンス分析の概要に戻ります。

    一般的なパフォーマンスの問題の詳細については、「Windows Phone Application Analysis を使用して一般的なパフォーマンスの問題を識別および解決する方法」を参照してください。

    次の図は、CPU 使用状況ビューを表示するため展開されたナビゲーション ツール バーを示します。

    Performance Warnings navigation toolbar, expanded

    次の図は、フレーム ビューを表示するため展開されたナビゲーション ツール バーを示します。

    The Windows Phone Profiler's "Breadcrumb" menu

表示:
© 2014 Microsoft