次の方法で共有


アプリケーション パフォーマンスの計画

パフォーマンス目標の達成の成功は、パフォーマンス戦略をどの程度適切に開発するかによって異なります。 計画は、あらゆる製品を開発する最初の段階です。 このトピックでは、優れたパフォーマンス戦略を開発するための非常に単純な規則をいくつか説明します。

シナリオの観点から考える

シナリオは、アプリケーションの重要なコンポーネントに集中するのに役立ちます。 一般に、シナリオは、顧客や競合製品から派生します。 常に顧客を調査し、製品や競合他社の製品に対して何が本当に興奮しているのかを見つけてください。 顧客のフィードバックは、アプリケーションの主要なシナリオを判断するのに役立ちます。 たとえば、起動時に使用されるコンポーネントを設計する場合、アプリケーションの起動時にコンポーネントが 1 回だけ呼び出される可能性があります。 スタートアップ時間が重要なシナリオになります。 その他の主要なシナリオの例としては、アニメーション シーケンスに必要なフレーム レートや、アプリケーションで許可される最大ワーキング セットがあります。

目標の定義

目標は、アプリケーションのパフォーマンスが速いか遅いかを判断するのに役立ちます。 すべてのシナリオの目標を定義する必要があります。 定義するすべてのパフォーマンス目標は、顧客の期待に基づく必要があります。 未解決の問題がまだ多い場合、アプリケーション開発サイクルの早い段階でパフォーマンス目標を設定することは困難な場合があります。 しかし、まったく目標を持たないよりは、初めに目標を設定して後で修正する方が良いです。

プラットフォームを理解する

アプリケーション開発サイクル中は、測定、調査、調整、修正のサイクルを常に維持します。 開発サイクルの最初から最後まで、信頼性の高い安定した環境でアプリケーションのパフォーマンスを測定する必要があります。 外部要因による変動を避ける必要があります。 たとえば、パフォーマンスをテストするときは、パフォーマンス テストの結果に影響を与えないように、ウイルス対策や SMS などの自動更新を無効にする必要があります。 アプリケーションのパフォーマンスを測定したら、最大の改善につながる変更を特定する必要があります。 アプリケーションを変更したら、サイクルをもう一度開始します。

パフォーマンス チューニングを反復的なプロセスにする

使用する各機能の相対的なコストを把握しておく必要があります。 たとえば、Microsoft .NET Framework でのリフレクションの使用は、一般にコンピューティング リソースのパフォーマンスが高いので、慎重に使用することをお勧めします。 これは、リフレクションの使用を回避することを意味するわけではありません。アプリケーションのパフォーマンス要件と、使用する機能のパフォーマンス要件のバランスを取るために注意する必要があります。

グラフィックスの豊かさを目指して構築する

WPF アプリケーションのパフォーマンスを実現するためのスケーラブルなアプローチを作成するための重要な手法は、グラフィカルなリッチさと複雑さに向けて構築することです。 常に、最小限のパフォーマンス集中型リソースを使用してシナリオの目標を達成します。 これらの目標を達成したら、常にシナリオの目標を念頭に置いて、より多くのパフォーマンス集中型機能を使用してグラフィックの豊かさに向けて構築します。 WPF は非常に豊富なプラットフォームであり、非常に豊富なグラフィック機能を提供します。 考えずにパフォーマンス集中型機能を使用すると、アプリケーションの全体的なパフォーマンスに悪影響を及ぼす可能性があります。

WPF コントロールは、コントロールの動作を変更せず、外観を幅広くカスタマイズできるようにすることで、本質的に拡張可能です。 スタイル、データ テンプレート、コントロール テンプレートを利用することで、パフォーマンス要件に合わせてカスタマイズ可能なユーザー インターフェイス (UI) を作成し、段階的に進化させることができます。

関連項目