Windows アプリのパフォーマンスと基本要素の概要

アプリケーションのパフォーマンスと基本要素の向上により、洗練と職人技の感覚が実現される一方で、顧客の時間、コスト、バッテリー切れ、開発作業が削減されます。 アプリの消費電力が少なくなり、バッテリー寿命が向上し、炭素排出量が削減されます。 アプリが、より安価なハードウェアでよりスムーズに実行されます。 顧客の生産性が向上します。

このページでは、Windows アプリケーションのパフォーマンスを測定、理解、調整するためのテクノロジと開発ツールの概要を示します。 UWP アプリを作成する場合は、UWP のパフォーマンスに関するドキュメントもご覧ください。

アプリケーション パフォーマンスの定義と重要性

アプリケーションのコンテキストでのパフォーマンスは、通常、"コスト" を中心に展開されます。 特定のタスクを完了するのにどのくらい時間がかかりますか? どのくらいの量のシステムのリソースが使用されますか?

これらの質問に対する回答は、アプリケーションでのユーザーのエクスペリエンスの品質において基本的な役割を果たします (ユーザーとして、アプリケーションのパフォーマンスの低下に苛立った体験を思い出せるでしょう)。 開発者は、パフォーマンスを念頭に置いて、アプリケーションのユーザーが同じ苛立ちを感じないようにする必要があります。

パフォーマンスの重要性と、開始方法に関する推奨事項について詳しくは、こちらのパフォーマンスの概要に関するページを参照してください。

アプリケーションのパフォーマンスを測定するために使用できるツール

Windows アプリケーションのパフォーマンスを測定するために使用できるさまざまなオプションがあります。

どのツールを選択したらいいか分からない場合は、Visual Studio パフォーマンス プロファイラーと Windows Performance Toolkit の比較」を参照してください。

Visual Studio アイコン Visual Studio パフォーマンス プロフィラー

Visual Studio には、アプリケーションを監視し、ソース内の分析情報を得るのに役立つツールが用意されています。 下記のツールにアクセスして、これらのツールを使用して開発環境から直接コードを最適化する方法について学びます。

Windows Performance Analyzer アイコン Windows Performance Toolkit

Windows パフォーマンス レコーダーWindows パフォーマンス アナライザーでは、Windows イベント トレーシング (ETW) を使用して、アプリケーションとシステム全体を詳細に監視、分析できます。 作業を開始する方法については、以下のリンクを参照してください。

PerfView アイコン PerfView

PerfView は、.NET パフォーマンスの問題の調査用に .NET チームによって作成されたオープン ソースの監視および分析ツールです。 .NET シンボルとマネージド メモリをデコードするその機能により、マネージド アプリケーションに最適な選択肢です。

SizeBench アイコン SizeBench

SizeBench は、コンパイル済みのネイティブ コード バイナリ (DLL、EXE、その他の PE ファイル) のサイズを調査、削減するのに役立つユーティリティです。

その他のリソース

ブログとニュース

舞台裏に迫った、パフォーマンスの専門家によって書かれた開発者ブログをお読みください。最適なバージョンのアプリの構築に役立ちます。

コミュニティとサポート

  • compile-debug-test ループのパフォーマンスに問題がありますか? GitHub の Windows Dev Performance リポジトリで報告してください。

  • 開発ワークフロー用に Windows を調整する必要がありますか? こちらの調整のヒントの記事を参照してください。

パフォーマンスと持続可能性

パフォーマンス エンジニアリングは、持続可能なソフトウェアの動きと直接交差します。 ほとんどの電力網は、発電するために化石燃料を燃やします。 アプリケーションが PC 上で実行されると電力を消費します。これは 1 人のユーザーに対しては小さいかもしれませんが、ユーザー ベースの拡大に合わせて増大します。

パフォーマンス エンジニアリングと持続可能性がどのように交差するかについて知る必要がありますか? 🌍 「グリーン ソフトウェア エンジニアリングの原則」と Microsoft の持続可能なソフトウェアに関するブログをご覧ください。

コンテンツのロード マップ

パフォーマンスは、適切なガイダンスがないと、開発プロセスにおける悩みの種になる可能性があります。 アプリの開発者が適切なドキュメントを入手できるようにすることが、より高速なアプリを作成する鍵になります。 以下のロード マップでは、このドキュメント セットに追加される以降のページについて、公開順に詳しく説明します。 良かった点や不足しているものがある場合は、このページ下部のフィードバック リンクを介して GitHub でお知らせください。 私たちの目標は、ニーズを満たすアプリのパフォーマンスを実現するための包括的かつ教育的なドキュメント セットをキュレートすることです。ご意見をぜひお寄せください。 Windows アプリケーションのパフォーマンスに関して取り上げてほしいトピックがある場合は、このページの以下のフィードバックを利用して、ご提案ください。

トピック 説明
パフォーマンス領域の概要 CPU、メモリ、GPU などのコンテキストでのパフォーマンスの意味について説明します。
何を測定するかを特定する ワークロード、環境、その他の要因に応じて、パフォーマンスの特定の領域が他の領域よりも重視される場合があります。 このドキュメントにより、何をいつ測定するかを確認してください。
パフォーマンス テスト サイクル パフォーマンス テスト ライフサイクルを順に説明します。これには、テスト環境の設定、結果の分析、製品の改善が含まれます。
さまざまなパフォーマンス ツールについて このドキュメントでは、その他のパフォーマンス ツールを紹介し、それらを使用するためのユース ケースとベスト プラクティスについて説明します
ケース スタディ 一連のエンド ツー エンドのシナリオとパフォーマンス テスト サイクルを通じた体験